只有一个具有相同类名的div的jQuery click事件

时间:2012-05-11 23:36:18

标签: jquery

有两个div部分具有相同的类,并且具有相同的ulli以及a

我的代码中有两个jQuery点击事件。当我点击谷歌时,两个jQuery点击事件都会激活。但我不想两者都这样做,只有一个。我如何实现这一目标?

例如,如果Google被点击,我只想要jQuery点击事件来做某事,而不是另一个。这些是我正在使用的DOM元素:

<div class = "abc">
 <ul>  
  <li class="year_"><a href="www.google.com">google</a></li>
 </ul>
</div>
<div class ="abc">
 <ul>
  <li><a href="www.yahoo.com>yahoo</a></li>
 </ul>
</div>

href可能会发生变化,因此我无法将选择器作为基础。我所遵循的代码。

$( 'div.abc ul li[class^="year_"]  a' ).click( function(){
    //do something
});

$( 'div.abc ul li a' ).click( function(){
    //do something
});

1 个答案:

答案 0 :(得分:5)

你可以做一个条件语句,找到带有“year_”类的li:

$( 'div.abc ul li a' ).click( function(){
    if ($(this).parents('li').is('[class^="year_"]')){
        //do something
    } else {
        //do something else
    }
});

请参阅jsfiddle