1

同じクラスのセクションが2つありdiv、同じulandliとがありaます。

コードに2つのjQueryクリックイベントがあります。Googleをクリックすると、両方のjQueryクリックイベントが発生します。しかし、私は両方にそうさせたくはありません。1つだけです。どうすればこれを達成できますか?

たとえば、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 に答える