向节点添加元素

时间:2008-11-16 15:18:10

标签: jquery

有一个HTML:

<div class="test">
<ul>
    <li>Item 1</li>
    <li>Item 2</li>
</ul>
</div>

还有一点JS:

$(document).ready(function() {
    // do stuff when DOM is ready
    $(".test ul").append('<li>Foo</li>');
});

为什么它什么都没有添加,但是如果我从append的参数字符串中删除html,

.append('Foo')

它有效 - 但这不是重点 - 新文本被添加为匿名块,而不是我想要的项目。

Anu建议?

编辑: 唉,我发现了问题。我修改了从Firefox的“保存页面”选项保存的文件,扩展名为.xhtml - 这就是问题所在。我重命名它,它工作正常。

谢谢:)

3 个答案:

答案 0 :(得分:1)

从JavaScript添加实际的HTML是相当难看的,你尝试过这样的事情:

var li=document.createElement("li");
li.appendChild(document.createTextNode("Dupa"));
$(".text ul").appendChild(li);

答案 1 :(得分:0)

我检查了你的代码,它在我的机器上完美运行......所以我认为这不是jQuery bug。

答案 2 :(得分:0)

扩展Frans-Willems代码:

jQuery(function($){
   /* This is exactly the same as that document ready thing */
   var li=document.createElement("li");
   $(li).text("Dupa");
   $(".text ul").append(li);
});