MAZ*_*UMA 14 javascript html-lists removechild
有没有办法删除ul的li元素而不删除ul?我似乎只能找到这个.
var element = document.getElementById('myList');
element.parentNode.removeChild(element);
Run Code Online (Sandbox Code Playgroud)
但是,这删除了ul.我希望能够动态删除和附加li元素,而不必每次删除li元素时都必须创建元素.只是寻找一种更简单的方法.谢谢你的帮助.
<div id="listView">
<ul id="myList" class="myList-class">
<li>item 1</li>
<li>item 2</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
Jus*_*ood 18
你可以做这样的事情.
var myList = document.getElementById('myList');
myList.innerHTML = '';
Run Code Online (Sandbox Code Playgroud)
如果你正在使用jQuery
$('#myList').empty();
Run Code Online (Sandbox Code Playgroud)
这两个都将删除列表中的所有内容.
Kra*_*mir 13
这应该做的伎俩:
var lis = document.querySelectorAll('#myList li');
for(var i=0; li=lis[i]; i++) {
li.parentNode.removeChild(li);
}
Run Code Online (Sandbox Code Playgroud)
演示http://jsfiddle.net/krasimir/UhhuX/
之所以删除,ul
是因为您有element
指向的变量ul
。然后,您的下一行代码将移至上级(#listView
),并应用传递removechild
了element
变量(指向ul
元素)的方法。
如果需要删除所有li元素,则可以使用:
document.getElementById('myList').innerHTML = '';
Run Code Online (Sandbox Code Playgroud)
这将ul
完全清空。如果您需要删除选定的li
元素,则可以使用以下方法遍历#myList
到特定的子元素:
var ulElem = document.getElementById('myList');
ulElem.removeChild(ulElem.childNodes[i])
Run Code Online (Sandbox Code Playgroud)
这里i
是指数li
要(为1 0,1 2,等等)删除
供参考:https : //developer.mozilla.org/en-US/docs/Web/API/Node.removeChild
归档时间: |
|
查看次数: |
45845 次 |
最近记录: |