2009-06-17 107 views
3

我創建了一個自包含例如找出原因,這只是在Firefox的工作:爲什麼這隻適用於Firefox?

li.append(this); 

這是一個:

var ul = jQuery('<ul></ul>'); 

jQuery(selector).children().each(function() { 
    var li = jQuery('<li></li>'); 
    var label = '<label for="' + this.id + '">' + this.name + '</label>'; 
    li.append(label); 
    li.append(this); 
    ul.append(li); 
}); 

任何WebKit瀏覽器,甚至IE在這條線失敗HTMLInputElement。有任何想法嗎?

感謝, 皮特

+0

任何特定的錯誤消息? – Matchu 2009-06-17 21:36:17

+0

Chrome不報告任何內容。它只是死在那條線上。 – slypete 2009-06-18 03:13:55

回答

1

問題是,「this」是一個DOM節點已經在某個地方。您無法移動DOM節點,這些節點已經位於某處,而無需先刪除或複製它們。

如果你想:

  • 招吧,你要做的

    li.append($(這)一個.remove())

  • 複製它,你」會做

    li.append($(本).clone(真))

其實,我很困惑,它應該在FF中工作。如果是這樣,這是一個FF錯誤。

乾杯,

0

也許這是您要選擇孩子,或使用jQuery的版本,您使用的是問題元素的問題。我使用1.3.2並使用您的代碼(複製&粘貼)我可以在FF 3,IE 8和Chrome中成功運行此代碼。

+0

我也在使用1.3.2。 – slypete 2009-06-17 21:44:34

相關問題