可以說我有50個的div ID與Jquery.each()忽略多個命令
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
<div id="div4"></div> and ... upto <div id="div50"></div>
這些div是具有足夠的寬度x高度填充背景色盒。
還有另一個div作爲字符串檢索數據庫數據。它是被正則表達式-ED,以匹配的div ID和適合在一個jQuery選擇
<div id="bookcaldatesci"></div>
上文DIV的字符串,(innerHTML的)聲明一組的div。因此字符串(innerHTML的)可能是這樣的:
#div1,#div2,#div3,#div1
我想換一個div的顏色,如果該分區是下文稱超過一次。所以div1的顏色會改變。
問題是jquery.each()忽略每()
我當前的代碼第二DIV1是
$(bookcaldatesci.innerHTML).each(function(i){
var indicator1 = $(this).css('background-color');
if (indicator1 == 'rgb(0, 0, 255)') {
$(this).css({ 'background-color': 'rgb(255, 165, 0)' });
}
else if (indicator1 != 'rgb(255, 165, 0)') {
$(this).css({ 'background-color': 'rgb(0, 0, 255)';
}
});
總之,如果DIV1已經是藍色的,讓它的橙色作爲警告。如果它不是藍色的話就會變藍。
我指出了這個問題 - 我設法返回.each()的結果字符串,然後理解第二個div1在通過.each()時丟失了。我正在尋找一種方法來避免這種情況。所以jQuery忽略我的2nd#div1,他運行.each()命令爲
#div1,#div2,#div3
刪除最後一個div1。這是我通過.each()測試時返回的字符串。
有什麼我可以做不放棄最後的div1嗎?
編輯- 問題:第一次迭代運行,爲什麼要運行第二次迭代?
答案:如果存在,我還需要它來運行第二次迭代。所以如果有第二次迭代,我需要它來改變顏色(所以它警告我)。該字符串來自數據庫自動化,關於預訂。如果有重疊,應該警告管理員。我使用正則表達式構建字符串,所以字符串與id列表相同,所以我可以在jQuery選擇器中獲取它。
如果存在,我需要它也要運行第二次迭代。所以如果有第二次迭代,我需要它來改變顏色(所以它警告我)。該字符串來自數據庫自動化,關於預訂。如果有重疊,應該警告管理員。我使用正則表達式構建字符串,所以字符串與id列表相同,所以我可以在jQuery選擇器中獲取它。 –
擁有2個或多個具有相同ID的項目是dom錯誤。嘗試使用類來代替。也許這可以解決問題 – sissy
你可以發佈你真正的'html'嗎? –