說明由例如:如何刷新jQuery .each()函數?
$(selector).each(function() {
if (expression) {
$(this).next().remove();
}
....
});
基於一種expression
予刪除元素也都是selector
的一部分,並在效果刪除的下一個元件的功能.each()
將得到。
.each()
函數似乎並不關心,並且正在它的代碼上運行它的已移除元素上的代碼,從而破壞了我的代碼在每個函數中的迭代過程。基本上,.each()
函數中的計數器將計數已刪除的元素,即使它不應該。
有什麼方法可以刷新或更新.each()
函數,以便跳過啓動後刪除的元素?
$(selector).filter(function() {
if (expression) {
return false;
}
}).each(function() { .. });
我不認爲你可以從裏面的電話each
修改集合:前
是的,但我必須刪除從元素DOM,而不是將它從.each()函數中移除 - 所以過濾器將無濟於事。我現在想着按順序運行兩個函數。 – Espen
@Espen有什麼不對:'$(selector).filter(function(){ return expression; })。next()。remove();'???事實上,你能否提供顯示預期行爲的樣本?我不知道爲什麼你不能只過濾它 –
如果一個屬性匹配當前元素,我需要刪除下一個元素 - 我得到的效果是沒有兩個匹配的元素彼此相鄰。在列表中,這可以是一個組的開始,如果兩個開始是彼此相鄰的,那麼一個組是空的並且可以被移除。我不知道任何可以做到這一點的過濾器。目前的問題不是獲取任何過濾,而是如何處理.each()函數中的元素在初始化後從DOM中移除。 – Espen