1

有两个div部分具有相同的类,并且具有相同的ulandlia

我的代码中有两个 jQuery 点击事件。当我点击 Google 时,两个 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
});
4

1 回答 1

5

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

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

jsfiddle

于 2012-05-11T23:43:13.177 回答