jQuery / JavaScript:如何删除第一个<li>中除<a> text </a>之外的所有元素

Ying Rui Wong

我有一个嵌套列表。

<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>
lium
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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 JQuery 删除除第一个 div 之外的所有子 div 元素?

如何加入数组中除第一个元素之外的所有元素?

隐藏 LI 的所有实例,除了 UL jQuery 中的第一个实例

c ++ 98,向量,删除除第一个元素之外的所有元素

如何删除数组中除第一个索引之外的所有内容?

如何使用javascript / jquery以编程方式单击第一个li元素?

如何从数组中删除除JavaScript中的第一个元素以外的所有元素

如何使用jQuery删除除第一个div以外的克隆元素div

如何选择除JQuery中单击元素之外的所有类?

通过jQuery将项目添加到元素列表中的第一个li

jQuery删除除第一个表外的所有表行

jQuery:如何从元素中删除除最后一个类以外的所有类

CSS - 隐藏除第一个之外的所有同类元素 - 不是子元素

除第一个元素之外的所有元素的分段错误

如何循环遍历列表中除第一个之外的所有项目

如何删除除第一个元素外的所有子元素?

jQuery删除除第一个和最后一个数字外的所有数字

使用纯CSS隐藏除元素的第一个孩子之外的所有孩子

如何从Java中的ArrayList中删除除第一个元素外的所有内容

删除 div 中除 span 元素之外的所有内容

当其他li设置为ul时,如何从ul设置为inline-block的ul中的第一个li元素中删除边距

jquery 从 tr 中删除所有 td,但不是第一个

如何使用 .not() 选择 body 中除一个元素之外的所有元素

JavaScript无法将焦点设置为ul中的第一个li元素

jquery/javascript 隐藏除点击项之外的所有子表单元素

如何删除HTML表中的所有<tr>元素(第一个元素除外)

用jQuery仅选择第一个ul中的最后一个li

删除除第一个使用递归之外的所有数字

如果文本溢出<li>,如何从<li>中删除第一个单词?