0

我正在研究 Jquery 手风琴的东西。我想向包含手风琴触发器 <a> 标记的 div 添加一个类。你可以看看我的代码。单击“日本视频中的衰退时尚”标题时,我想将“第一个”类名称添加到第一个“newsitems”类。

        <!-- 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");
    }
}

编辑:更改if($(e.target).is("a")){IMGSLaks 指出我错过了该标签。

于 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 回答