2012-12-09 67 views
-5

我試圖通過for循環爲元素分配id名稱屬性,但實際上我可以做到這一點沒有問題,但我想完成把同樣的ID在每個數字...讓我們說5元素。 例子:如何通過循環遍歷每5個元素將相同的id分配給多個元素

<div id="1"></div> 
<div id="1"></div> 
<div id="2"></div> 
<div id="2"></div> 
<div id="3"></div> 
<div id="3"></div> 
<div id="4"></div> 

我試過jQuery的slice()函數,多重過濾選擇,我只是無法弄清楚。請指點我正確的方向。每一個答案都非常感謝。

+1

在HTML中給同一個ID添加多個元素是非法的。 –

+0

可以以某種方式覆蓋 – Remir

+0

是的,'id's可以用'.attr(「id」,val)'覆蓋,但是你不應該給同一個id多個元素。 – recursive

回答

1

這是一個絕對可怕的想法,它可以通過jQuery完成。

$('div').each(function (i) { 
    if (i % 5 == 0) $(this).attr('id','New Id'); 
}); 

然而,我假設你這樣做是對風格的元素,這是一處新移民取得搞砸了不理解的是ID是獨特的元素,他們唯一的真正目的是誠實的,是讓你以唯一地選擇它們。要在同一頁面上類似地設置樣式,您需要使用類,而不是ID。在這種情況下,選擇每個第五個元素並將其更改爲相同的CLASS是完全有效的並且是正常的事情。

$('div').each(function (i) { 
    if (i % 5 == 0) $(this).addClass('newClass'); 
}); 
+1

現在很明顯。這是個多麼愚蠢的問題。我忘了課程,Id的主要目的是獨一無二的,那就是什麼課程。非常感謝你們 – Remir

+0

我想這樣做的主要原因是分頁。我們說。 顯示id = 3的所有div並隱藏其他所有內容,如果你點擊下一個數字爲2的頁面,除id = 2以外的所有div都將被隱藏。看起來像可怕的想法,但我認爲更快的方式 – Remir

+0

我很抱歉,但你可以接受答案? – Remir