2010-08-28 74 views
2

我:相当于.append一个列表元素

<div id="list"> 
</div> 

然后:

$('#list').append('a<br>'); 
$('#list').append('b<br>'); 
$('#list').append('c<br>'); 

但我想的是:

<ul id="list"> 
</ul> 

问:我怎样才能在jQuery中使用DOM添加到无序列表中而不使用.html?

回答

3

使用appendTo()http://api.jquery.com/appendTo/

var list = $('#list'); 

$('<li></li>').appendTo(list).text('List item 1'); 

然后,您可以用链接来定义附加属性,如文本和属性。

1
var list = $('<ul id="list"/>'); 
list.append('<li>content</li>'); 
+0

变量只是让事情变得更慢,如果它不能在脚本中的其他地方重新使用,则不是必需的。 – 2010-08-28 15:31:26

+0

确实,但从他的例子来看,他想要添加多个元素。所以这个解决方案比向现有元素添加元素要快得多。 – 2010-08-29 08:37:43

1

你可能想要做的:

$('#list').append('<li>Item #1</li><li>Item #2</li>'); 
1

.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()来获得更多元素。