-1

mouseover我有一个函数可以在用户使用某个 div时调用。该函数显示了一个不同的 div,但问题是它显示了该类的所有 div。

这是JS:

$('.edit-image').mouseover(
  function(e){
  $('.edit-image-link').show();
});

我想要它做的只是显示.edit-image-linkdiv 如果它是用户将鼠标悬停的元素的子元素。

4

2 回答 2

3

您可以使用.find()仅获取基于选择器的元素的后代元素。

$('.edit-image').mouseover(function (e) {
    $(this).find('.edit-image-link').show();
});

或者您可以将上下文传递给 jQuery 以搜索选择器

$('.edit-image').mouseover(function (e) {
    $('.edit-image-link', this).show();
});

注意:在事件处理程序之类的 jQuery 回调方法中,这将引用当前 dom 元素

我个人更喜欢第一种方法

于 2013-11-01T15:16:41.897 回答
0

利用

$('.edit-image').mouseover(function () {
    $(this).find('.edit-image-link').show();
});

参考

这个关键字

。寻找()

获取当前匹配元素集中每个元素的后代,由选择器、jQuery 对象或元素过滤。

于 2013-11-01T15:17:26.290 回答