0

私はJqueryアコーディオンのものに取り組んでいます。アコーディオントリガー<a>タグを含むクラスをdivに追加したいと思います。あなたは私のコードを見ることができます。「日本の不況ファッション」のタイトルをクリックすると、最初の「newsitems」クラスに「first」クラス名を追加したい。

        <!-- news items starts-->
        <div class="newsitems">
          <h3 class="business"> <a href="#" title="expand"><img src="images/expand_icon.gif" alt="collapse" class="collpase" /> Recession fashion in Japan Video</a> </h3>
          <p class="timestamp">0100hrs</p>
        </div>
        <!-- news items ends-->
        <!-- news items starts-->
        <div class="newsitems">
          <h3 class="sports"> <a href="#" title="expand"><img src="images/expand_icon.gif" alt="collapse" class="collpase" /> Murray survives five-set thriller at Wimbledon</a> </h3>
          <p class="timestamp">0100hrs</p>
        </div>
        <!-- news items ends-->
4

4 に答える 4

2

closest要素を含む最も内側の親を見つけるメソッドを探しています。

例えば:

$('div.newsItems h3 a').click(function() { 
    $(this).closest('div.newsItems').addClass('first');
});
于 2010-03-11T22:26:01.107 に答える
0
$('div.newsitems h3 a').click(function() {
    $(this).parent().parent().addClass('first');
});
于 2010-03-11T22:25:05.727 に答える
0

別の答えのためだけに。

$('div.newsItems').click(function(e){
    if($(e.target).is("IMG")){
        $(this).addClass("first");
    }
}

編集: SLaksがそのタグを見逃したことを指摘したため、if($(e.target).is("a")){をに変更しました。IMG

于 2010-03-11T22:34:07.910 に答える
0

また、別のトリガーをクリックした後にクラスを削除するには、以下のような行を追加する必要があります。

var dropDown = $(this).parent().next().next(); /* This is configured for my script. Yours may be different*/
$('div.newsitems').not(dropDown).removeClass('first');
于 2010-03-11T23:14:27.760 に答える