2009-06-17 108 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

相关问题