2013-07-20 31 views
1

我有一些HTML這樣的,其中ID代表個人玩家代號:jQuery的:每一個不遍歷每個項目ID

<img src="image.png" id="Blah"> 
<img src="image.png" id="Someone"> 
<img src="image.png" id="Blah"> 

我需要css()上的每個人,所以我嘗試使用each()覆蓋條件,其中有像上面的重複。

我跑這是一個測試:

$("#Blah").each(function(index) { 
    console.log(index + ": " + $(this).text()); 

但它只返回1個結果。我應該用什麼來迭代覆蓋重複項?

+1

頁面上的'id'應該是唯一的。改用類。 –

+6

'ID' *** ***必須是唯一的。遍歷標籤'$('img')'或類名稱 – Dom

+2

爲什麼任何想法的人實際上會給一個以上的東西_same_ id超出了我。 –

回答

4

你必須使用class代替id作爲id是一個元素的獨特屬性

<img src="image.png" class="Blah"> 
<img src="image.png" class="Blah"> 
<img src="image.png" class="Blah"> 

然後重複使用class name

$(".Blah").each(function() { 

FIDDLE

1

的原因,你不能將ID作爲扇區是因爲所有圖像都有不同的ID和.each()方法每個ID只能使用一個。從技術上講,你需要each()方法遍歷所有圖像,所以你需要與你的所有圖像相關的東西,比如每個img的類,或者所有圖像的包裝,你可以用它作爲圖像的選擇。此示例基於父div div-img選擇器。 Khawer Zeshan的另一個答案是基於類選擇器。從發展的角度選擇更合理的方法。

說,如果你要訪問一個DIV的所有圖像ID爲div-img,你有HTML象下面這樣:

<div id="div-img"> 
    <img src="image.png" id="Blah"> 
    <img src="image.png" id="Someone"> 
    <img src="image.png" id="Blah"> 
</div> 

這裏是你如何可以訪問特定專區內的所有圖片:

$("#div-img img").each(function(index) { 
    console.log(index + ": " + $(this).text()) 
}); 

jsfiddle:http://jsfiddle.net/trzMj/1/