給定的ID只能在頁面中使用一次。使用相同ID的多個對象即使位於頁面的不同部分也是無效的HTML。
您可以將您的HTML改成這樣:
<div id="div1" >
<input type="text" class="edit1" />
<input type="text" class="edit2" />
</div>
<div id="div2" >
<input type="text" class="edit1" />
<input type="text" class="edit2" />
</div>
然後,你可以用CSS選擇這樣獲得的第一項DIV1:
#div1 .edit1
在jQuery中:
或者,如果你想迭代你的一個div的項目,你可以這樣做:
$("#div1 input").each(function(index) {
// do something with one of the input objects
});
如果我不能使用像jQuery或YUI的框架,我會去得到灒和包括它的選擇邏輯(這是相同的選擇引擎是jQuery的內部),因爲DOM操作是大規模用一個好的選擇器庫更容易。
如果我甚至無法使用Sizzle(這會大大降低開發人員的工作效率),那麼可以使用普通DOM函數來遍歷給定元素的子元素。
你會使用DOM函數,如childNodes或firstChild和nextSibling,你必須檢查nodeType以確保你只有你想要的那種元素。我從來沒有用這種方式編寫代碼,因爲它比使用選擇器庫的效率低得多。
你不能有一個以上的元素在整個DOM樹相同的ID ...'id'必須永遠是獨一無二的。 –
請不要使用這個。這是無效的標記。 – naveen
正如@PaulPROs答案所示,您沒有HTML。你有類似* HTML的東西,但是因爲你有多個具有相同'id'的元素,所以它是無效的。 –