Дочерние элементы и mouseover
Добрый день, возникла такая проблема:
На странице есть много вот таких кусков кода:
<td class="info">
<span class="info_but"></span>
<div class="info_cont"> Ла-ла-ла</div>
</td>
Задача очень простая, нужно что бы при наведении на .info_butt блок .info_cont становился видимым, и, соответственно, наоборот, при убирании курсора за пределы .info_butt блок .info_cont пропадал. Пытался сделать через дочерние элементы. Вот такой код получился:
$('td.info').each(function() {
$(this).children(".info_but").mouseover(function(){
$(this).children(".info_cont").fadeIn();
}).mouseout(function(){
$(this).children(".info_cont").hide();
});
});
Наведение срабатывает, пробовал проверять вставляя alert, а вот $(this).children(".info_cont") никак не хочет скрывать и раскрываться. Быть может потому что $(this) уже в другой функии? Тогда как сделать что бы работало. Заранее спасибо за помощь. |
Потому что .info_cont очевидно не дочерний элемент .info_but. Надо использовать какойнить .sibling\s или там .closest.
|
Как-то так:
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<body>
<table>
<tr>
<td class="info">
<span class="info_but">Кнопка 1</span>
<div class="info_cont">Ла-ла-ла</div>
</td>
</tr>
<tr>
<td class="info">
<span class="info_but">Кнопка 2</span>
<div class="info_cont">Ла-ла-ла</div>
</td>
</tr>
<tr>
<td class="info">
<span class="info_but">Кнопка 3</span>
<div class="info_cont">Ла-ла-ла</div>
</td>
</tr>
</table>
<script>
$('.info_but').mouseover(function() {
$(this).next().show();
});
$('.info_but').mouseout(function() {
$(this).next().hide();
});
</script>
</body>
|
| Часовой пояс GMT +3, время: 01:39. |