2012-12-14 118 views
2

我想选择可以出现多次的类,但JQuery只选择第一个实例。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都不会执行任何操作。

如果我只是在newsHeadline上点击一下,我可以很好地工作,但是这会导致点击newsHeadline时导致上面的某个人转而转换的问题,或者您必须寻找可点击部分(例如,在标题文字上看不到点击)。

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

+0

似乎这儿http://jsfiddle.net/sushanth009/gWufx/2/工作..你可以提供'HTML和CSS'的其他元素,似乎不工作? –

+0

另外你写的代码只会触发你点击过的当前'newsItem'中的转换 –

回答

0

为了选择一个类的每一个实例,不使用发现,只是保持简单:

$('.newsContent').[do something here, toggle, etc]