JQuery Показать скрытый класс при наведении
Вопрос
Я относительно новичок в JQuery и хотел бы иметь возможность отображать меню при наведении курсора мыши.
Вот HTML
<td class ="comment_div"> <?php echo("$comment_data['comment']); ?> <br/>
<span class="comment_actions"> Approve | Delete | Spam | Edit</span>
</td>
Затем JQuery
$("comment_div").hover(
function() { $(".comment_actions").show(); },
function() { $(".comment_actions").hide(); }
);
Это работает, за исключением того, что я извлекаю несколько комментариев, и это будет показывать меню только в первом div, независимо от того, какой «комментарий» наведен.Я хотел бы, чтобы меню отображалось только для комментария, над которым в данный момент наведен курсор.Я думаю, что мне нужно использовать «$this», чтобы это работало, но не знаю, как это сделать.
Спасибо.
Решение
Если я правильно понимаю, формат должен быть таким:
$(".comment_div").hover(
function() { $(this).children(".comment_actions").show(); },
function() { $(this).children(".comment_actions").hide(); }
);
Редактируйте, потому что я полный идиот.
Другие советы
Что-то вроде этого работает для меня:
<script>
$(document).ready(function() {
$(".container").hover(
function() { $(this).children('.comment_actions').show(); },
function() { $(this).children('.comment_actions').hide(); }
);
});
</script>
<style>
</style>
<table border="1"><tr>
<td class ="container"><br/>
asd<span class="comment_actions">Approve | Delete</span>
</td>
<td class ="container"><br/>
asd <span class="comment_actions">Approve | Delete</span>
</td>
<td class ="container"><br/>
asd<span class="comment_actions"> Approve| Delete</span>
</td>
</tr></table>
Однако проблема, с которой вы столкнетесь, — это действия при наведении курсора на элемент div, который имеет отображение:никто;набор.Возможно, вы захотите обернуть его чем-то, чувствительным к мыши, а затем вместо этого отображать/скрывать дочерние элементы.