2016-05-14 4 views
0

У меня есть таблица, содержащая столбец с иконкой. Я хочу, чтобы значки были скрыты по умолчанию и отображались только при наведении.Показать значок только на hover

HTML код:

<table class="table table-hover"> 
    <tr> 
    <th>From</th> 
    <th>To</th> 
    <th>Connecting Airport</th> 
    <th>Comment</th> 
    <th>Report</th> 
    </tr> 
    <tr> 
    <td>JFK</td> 
    <td>CPH</td> 
    <td>ARN</td> 
    <td>N/A</td> 
    <td><i class="fa fa-exclamation-triangle" title="Report outdated information" style="color:#da5450;"></i></td> 
    </tr> 
    <tr> 
    <td>SFO</td> 
    <td>EWR</td> 
    <td>ORD</td> 
    <td>N/A</td> 
    <td><i class="fa fa-exclamation-triangle" title="Report outdated information" style="color:#da5450;"></i></td> 
    </tr> 
</table> 

Minimal Рабочий пример:

https://jsfiddle.net/bce9a257/1/

ответ

4

Там нет необходимости использовать JavaScript для этого. Всего несколько строк CSS будут делать:

i.fa { 
    display: none; 
} 
td:hover i.fa { 
    display: inline-block; 
} 

и обновленную скрипку: https://jsfiddle.net/bce9a257/3/

Если вы хотите значки, чтобы показать на парение из строки вместо клетки, вы могли бы сделать это так :

i.fa { 
    display: none; 
} 
tr:hover i.fa { 
    display: inline-block; 
} 

обновление:
Очевидно, что вам нужно сделать, что селектор немного конкретнее только целевой иконки в таблице. Например, вы можете добавить идентификатор в таблицу, как flights и изменить эти селекторы #flights i.fa#flights tr:hover i.fa)

+0

всегда лучше полагаться на CSS, а не JS, когда это возможно – bax

+0

только проблема с этим решением является то, что он будет влиять на все другие иконки на странице – kexxcream

+1

@kexxcream Не проблема, просто вопрос о том, чтобы сделать селектор более конкретным. Посмотрите на обновление. – Pevara

Смежные вопросы