我如何使用'这个'的子元素?作为jQuery中的选择器?

时间:2013-11-01 15:16:11

标签: javascript jquery

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

这是JS:

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

我想要它只是显示.edit-image-link div,如果它是用户将鼠标移动的元素的子元素。

2 个答案:

答案 0 :(得分: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元素

我个人更喜欢第一种方法

答案 1 :(得分:0)

使用

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

参考

this keyword

.find()

  

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