0


0

Jqueryでトリガーのちょうど上の要素にクラスを追加するにはどうすればよいですか?

私はJqueryアコーディオン関連のものに取り組んでいます。 アコーディオントリガータグを含むdivにクラスを追加したい。 あなたは私のコードを見ることができます。 「Recession fashion in Japan Video」タイトルをクリックしたときに、最初の「newsitems」クラスに「最初の」クラス名を追加したい。

            Recession fashion in Japan Video
          0100hrs




            Murray survives five-set thriller at Wimbledon
          0100hrs

4 Answer


2


http://api.jquery.com/closest/ [closest]メソッドを探しています。このメソッドは、要素を含む最も内側の親を見つけます。

例えば:

$('div.newsItems h3 a').click(function() {
    $(this).closest('div.newsItems').addClass('first');
});


0


$('div.newsitems h3 a').click(function() {
    $(this).parent().parent().addClass('first');
});


0


別の答えのためだけに。

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

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


0


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

var dropDown = $(this).parent().next().next(); /* This is configured for my script. Yours may be different*/
$('div.newsitems').not(dropDown).removeClass('first');