2014-10-16 54 views
0

我想要選擇頁面上出現的形式爲volume_header_ + id#的div ID的第一個實例。如果我明確地輸入了id#,例如volume_header_123,則代碼有效。但是,當我嘗試用一​​個通用選擇器替換它以選擇第一個匹配項時,不管什麼id#都會中斷。JQuery - 選擇div class ID的第一個實例

<div class="volume_wrapper"> 
    <div id="volume_header_123" class="volume_header"> 
    … 
    </div> //end volume_header_123 
    <div id="volume_issues_123" class="volume_issues" style="display: block;"> 
    <div class="issue_wrapper"> 
     <div id="issue_header_123_6" class="issue_header"> 
     … 
     </div> //end issue_header_123_6 
     <div id="issue_toc_123_6" class="issue_toc" style="display: none;"> 
     <div class="toc_item"> 
      … 
     </div> //end toc_item 
     </div> //end issue_toc_123_6 
    </div> //end issue_wrapper 
    </div> //end volume_issues_123 
</div> //end volume_wrapper 

下面的代碼工作正常明確說明的DIV ID的時候,但我需要讓通用的,所以它選擇的第一次出現,無論附加到volume_header_volume_issues_月底編號的。

 jQuery('#volume_header_123').css('border-bottom', '1px solid #cc0000'); 
     jQuery('#volume_header_123').addClass('selected'); 
     jQuery('#volume_issues_123').slideDown(50); 

我已經嘗試用.EQ(0):首先,和幾個根據一些在這個網站給對方的回答的其他選擇,但我似乎無法找到正確的語法。

回答

0

$(「.volume_header」)。首先()。隱藏()

這是選擇與類volume_header的第一個元素,然後將其隱藏。用你需要的函數調用替換隱藏調用。

當你使用動態的IDS只是指與類名的第一個元素,而不是

+0

最好的,這做到了!我之前嘗試過的語法略微偏離了......我相信我在這裏讀過其他地方的文章,「.eq(0)」比'.first()'更好或更好的實踐/更廣泛的支持,是真的? – rkent 2014-10-16 20:59:45

+0

說實話,我不確定其中一個或另一個的好處,但如果它的效果很好!請標記爲答案 – 2014-10-16 21:46:05

1

或者您可以使用此代碼,作爲一個孩子選擇:

$('.volume_wrapper > .volume_header'); 
0

看看這個小提琴:
http://jsfiddle.net/6wp44kc3/
在我的例子我使用:

$("p", "div").eq(0).html("ha");

我正在使用eq在div元素的範圍內選擇第一段標記。然後我設置段落標籤的html爲ha。以這種方式使用eq將允許您選擇第一個元素。

0

其他替代:

$($("div").get(0)).hide(); 
相關問題