如何使用Jquery将类添加到触发器的上部元素?

如何使用Jquery将类添加到触发器的上部元素?,jquery,accordion,addclass,Jquery,Accordion,Addclass,我正在做Jquery手风琴的东西。我想向包含accordion触发器的div添加一个类 0100小时 0100小时 您正在寻找方法,该方法找到包含元素的最内层父级 例如: $('div.newsItems h3 a').click(function() { $(this).closest('div.newsItems').addClass('first'); }); 只是为了另一个答案 $('div.newsItems').click(function(e){ if($(e.

我正在做Jquery手风琴的东西。我想向包含accordion触发器的div添加一个类

0100小时

0100小时

您正在寻找方法,该方法找到包含元素的最内层父级

例如:

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

只是为了另一个答案

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

编辑:
if($(e.target).is(“a”){
更改为
IMG
,正如SLaks指出的那样,我遗漏了该标记。

此外,我们还应该添加类似于以下的内容,以便在单击另一个触发器后删除类:

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

@很好,但只要将“a”改为“img”,它就会:)
$('div.newsItems').click(function(e){
    if($(e.target).is("IMG")){
        $(this).addClass("first");
    }
}
var dropDown = $(this).parent().next().next(); /* This is configured for my script. Yours may be different*/
$('div.newsitems').not(dropDown).removeClass('first');