<div id="list">
</div>
然后:
$('#list').append('a<br>');
$('#list').append('b<br>');
$('#list').append('c<br>');
但我想的是:
<ul id="list">
</ul>
问:我怎样才能在jQuery中使用DOM添加到无序列表中而不使用.html?
<div id="list">
</div>
然后:
$('#list').append('a<br>');
$('#list').append('b<br>');
$('#list').append('c<br>');
但我想的是:
<ul id="list">
</ul>
问:我怎样才能在jQuery中使用DOM添加到无序列表中而不使用.html?
使用appendTo()
:http://api.jquery.com/appendTo/
var list = $('#list');
$('<li></li>').appendTo(list).text('List item 1');
然后,您可以用链接来定义附加属性,如文本和属性。
var list = $('<ul id="list"/>');
list.append('<li>content</li>');
你可能想要做的:
$('#list').append('<li>Item #1</li><li>Item #2</li>');
的.append()
方法仍然是正确的。问题是你追加什么?
由于#list
是<ul>
,您需要.append()
<li>
元素。
当然,如果#list
为空,并且您一次追加多个,则可以始终使用.html()
或.innerHTML
来代替。
$('#list').html("<li>a</li><li>b</li><li>c</li>");
或
document.getElementById('list').innerHTML = "<li>a</li><li>b</li><li>c</li>";
...这将是最快的。
然后使用.append()
来获得更多元素。
变量只是让事情变得更慢,如果它不能在脚本中的其他地方重新使用,则不是必需的。 – 2010-08-28 15:31:26
确实,但从他的例子来看,他想要添加多个元素。所以这个解决方案比向现有元素添加元素要快得多。 – 2010-08-29 08:37:43