我有一个嵌套列表。
<ul id="menu-main-menu" class="nav sn-nav">
<li id="menu-item-38" class="menu-item menu-item-type-yawp_wim menu-item-object-yawp_wim menu-item-38">
<div class="yawp_wim_wrap">
<div class="widget-area">
<div id="custommetawidget-3" class="yawp_wim_widget customMetaWidget">
<span class="yawp_wim_title"></span>
<ul>
<li><a href="1">Site Admin</a></li>
<li><a href="2">Log out</a></li>
</ul>
</div>
</div>
</div>
</li>
<li>
<a href="3">test</a>
</li>
</ul>
我想删除first的所有元素,然后<li id='menu-item-38'>
离开<a>
。
就像第二个一样<li>
。
我发现了一个类似的链接:http : //jsfiddle.net/yJrb7/1/
但它仍然无法正常工作。
var li = document.getElementsByClassName('menu-item')[0];
var links = document.getElementsByTagName('a');
for(var i=0;i<li.childNodes.length;i++){
if(li.childNodes[i].nodeName!=links)
li.removeChild(li.childNodes[i--]);
}
编辑:
伙计们,对不起我的错,我没有说清楚。
我真正需要的是
<ul id="menu-main-menu" class="nav sn-nav">
<li><a href="1">Site Admin</a></li>
<li><a href="2">Log out</a></li>
<li><a href="3">test</a></li>
</ul>
window.onload = function() {
//declare an instance of DocumentFragment Type;
var fragment = document.createDocumentFragment();
var liList = document.getElementById("menu-item-38").querySelectorAll("li");
for (var i = 0; i < liList.length; i++) {
//copy these li into the fragment
fragment.appendChild(liList[i]);
}
var removeObj = document.getElementById("menu-item-38");
var parentElement = removeObj.parentNode;
//remove li whose id id [menu-item-38]
parentElement.removeChild(removeObj);
//add fragment to the parmentElement
parentElement.appendChild(fragment);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句