子元素满足条件时的jquery选择器

时间:2012-08-24 20:56:52

标签: jquery

我有以下代码:

<a href="#" class="btn">
<i class="icon-thumbs-up"></i>
</a>

我需要为:

编写一个jQuery选择器

任何时候点击一个锚点,其中有一个标签,其中包含class ='icon-thumbs-up',然后......

2 个答案:

答案 0 :(得分:4)

只需使用.has()方法

即可
$('a').has('.icon-thumbs-up').click(){ // <-- all anchor that has descendant with class .icon-thumbs-up
     // code here
});

如果动态更改/添加元素,您可以使用委托

$('body').on('click','a', function(){
     if($(this).has(".icon-thumbs-up")){
         //code here
     }
});

用加载dom时可用的最近父级替换body

答案 1 :(得分:1)

编辑:

事实证明,一个名为has()的选择器,它可以帮助您实现目标:

$('body').on("click", "a:has(.icon-thumbs-up)", function(){
      // do something
});