2012-12-14 155 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]