2012-07-01 219 views
3

任何人都可以幫忙。我試圖選擇表單上的一些元素,但隨着元素正在被動態添加,這開始導致問題。查找元素

我需要選擇的元素是每個子div內的第二個輸入元素。 我一直試圖沿着這個東西線(沒有多少運氣):

$("#parentdiv :input:first-child").addClass("bad") 

感謝,

+0

如果是第二輸入元件,可以肯定你不想使用'一線child'。你可以試試'$($(「#parent input」)[1])。addClass(「bad」)'。每次都會獲得第二個輸入。 – Jay

+1

這將只選擇整個集合中的第二個元素,而不是每個父元素的第二個元素。順便說一下,向我們展示您的DOM結構將是一個好主意。 – ThiefMaster

+0

原始帖子也只會選擇整個集合中的第一個元素(第一個評論更接近答案)。你想要做的是在所有包含div的類上設置一個類,然後使用'$(「。contains-div:input:nth-​​child(2)」)。addClass(「bad」)在每個div中選擇第二個輸入'。 – ClarkeyBoy

回答

8
$('#parentdiv :input:nth-child(2)').addClass("bad") 
+0

這實際上有點不對,因爲它只會選擇'#parentdiv'的第二個孩子,顯然(根據http://api.jquery.com/nth-child-selector/),所有其他孩子都被計數,而「 eq(1)'只計算匹配附加選擇器的元素。一種改進是使用類而不是'#parentdiv',儘管它可以是'#parentdiv .containing-div:input:eq(1)'。 – ClarkeyBoy

+0

謝謝,這個答案完美解決了我的問題。 – felix001