2

我正在尝试选择可以出现多次的类,但 JQuery 只选择第一个实例。

jQuery

$(function(){
$(".openNews").click(function() {
    alert("click");

    $(this).parent().find('.newsContent').toggleClass("newsContent-expand");
    $(this).parent().toggleClass("newsItem-expand");
});
});

HTML(可以有许多这样的 newsItem div,都包装在一个主容器中)

<div class="newsItem">
     <div class="openNews">G</div>
     <div class="newsHeadline">
          <span class="headline">The other thing</span>
          <span class="author">by: author</span>
          <span class="time">12/07/2012 @ 12:57 pm</span>
     </div>
     <div class="newsContent">
        sdf<br>
        sdf<br>
        sdf<br>
        sdfdsfsdfsdfsd<br>
        sdfsdf sdf                   
     </div>
</div>

该警报仅用于故障排除。

单击“G”应该会触发转换,但这仅适用于第一个 newsItem。所有后续的 newsItem 在点击“G”时什么都不做,除非它上面的项目已经过渡。

如果我注意点击新闻标题,我可以让它正常工作,但这会导致点击新闻标题会导致其上方的标题转换的问题,或者你必须四处寻找可点击的部分(不会例如,点击标题文本)。

我觉得我错过了一些简单的东西。有任何想法吗?

4

1 回答 1

0

为了选择一个类的每个实例,不要使用 find,保持简单:

$('.newsContent').[do something here, toggle, etc]
于 2012-12-14T23:17:04.040 回答