2015-11-19 88 views
1

這是我用#bir動態創建元素的方式。each()僅適用於第一個元素(動態創建)

setInterval(function(){ 
    baseBody.attr("id", "bir"); 
    baseBody.after("<td id=eki><p id=test'>Test</p></td>"); 

    $('#bir').each(function() { 
     $(this).after("test"); 
    }); 
}, 1000); 

因此,該領域進入testtesttesttesttesttest...

...但只適用於第一個元素。爲所有元素正確創建了#bir

這裏有什麼問題?

回答

2

這由id選擇的東西:

$('#bir') 

由於只在頁面上的單個元素與獨特id是有意義的每個循環只有一次。我認爲jquery只會返回它找到的第一個,因爲在找到一個之後沒有理由繼續尋找,因爲id是唯一的。如果您希望找到多個元素,則應該循環使用某個類或其他類。

+1

具體的html元素具有相同的ID在技術上打破了html規範。 –

1

我明白了。我所做的是:

... 
    $(baseBody).each(function() { 
     $(this).after("test"); 
    }); 
... 

它不工作時,我提到id,只有jQuery對象。

謝謝你們!

+0

出於純利益什麼是baseBody?我沒有在代碼中看到它來自哪裏以及它是什麼。 – AtheistP3ace

+0

這是一個我分配了CSSPath的變量。 –

相關問題