如何从点击功能中排除ID?

时间:2013-04-17 11:44:14

标签: javascript jquery html

我是jQuery的新手,想知道如何编辑点击功能。

这是HTML的样子:

<ul class="result">
   <li id="a"></li>
   <li></li> //will be added through a loop depending on input
</ul>

所以我的问题是,当我点击li对象时,它会做一些事情。现在我想从该事件中排除li id="a"。我以为return false;会处理这个问题,但事实并非如此。

这是jQuery函数的样子:

$('.result li').click(function() { 
    $('.result li a').click(function (event) {
        event.preventDefault();
        event.stopPropagation();
    });
        some further code...
});

我也尝试过:

$('.result li').click(function() { 
    $('.result li a').click(function () {
        return false;
    });
        some further code...
});

非常感谢。

5 个答案:

答案 0 :(得分:6)

$('.result li:not(#a)').click(function() { 

答案 1 :(得分:2)

你可以这样做

$('.result li').click(function() {     
       if($(this).attr('id')!="your id")
        some further code...
    });

答案 2 :(得分:1)

试试这个:

$('.result li').click(function (e) {
    if (e.target === this) {
        some further code...
    }
});

此处,this表示当前范围内的元素,此处始终点击li

e.target表示实际点击的元素,可以是lia

因此,如果实际点击的元素不是当前范围中的lie.target === this将返回false并且没有任何反应(没有触发点击事件),反之亦然。

答案 3 :(得分:0)

一个简单的if应该工作:

$('.result li').click(function(ev) { 
  if (this.id == "a") {
    return; 
  }

  // Do your stuff
});

答案 4 :(得分:0)

否定伪类(:不是(X))将完成这项工作。您可以更好地了解否定伪类Here

现在请试试这个

$('.result li:not(#a)').click(function() {

    // Your code here...

}