Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据属性值删除DOM元素_Javascript_Jquery - Fatal编程技术网

Javascript 如何根据属性值删除DOM元素

Javascript 如何根据属性值删除DOM元素,javascript,jquery,Javascript,Jquery,我有来自Sharepoint的HTML代码,我想知道是否可以仅基于“text”属性删除这个特定的DOM元素 <ie:menuitem menugroupid="200" text="new docs view" onmenuclick="window.location = '/some link/';" type="option" id="zz36_View1"></ie:menuitem> 使用Firebug,我可以简单地右键单击上面的行,然后单击DeleteEl

我有来自Sharepoint的HTML代码,我想知道是否可以仅基于“text”属性删除这个特定的DOM元素

<ie:menuitem menugroupid="200" text="new docs view" onmenuclick="window.location = '/some link/';" type="option" id="zz36_View1"></ie:menuitem>

使用Firebug,我可以简单地右键单击上面的行,然后单击DeleteElement。如何使用Javascript w/Jquery实现这一点

下面是上面这一行的来历:

<span style="display:none">
    <menu compactmode="true" id="zz34_ViewSelectorMenu" type="ServerMenu">
        <ie:menuitem menugroupid="100" text="All Documents" onmenuclick="window.location = '/some link/';" type="option" id="zz35_DefaultView"></ie:menuitem>
        <ie:menuitem menugroupid="200" text="new docs view" onmenuclick="window.location = '/some link/';" type="option" id="zz36_View1"></ie:menuitem>
        <ie:menuitem menugroupid="300" text="Explorer View" onmenuclick="window.location = '/some link/';" type="option" id="zz37_View2"></ie:menuitem>
    </menu>
</span>

我试过这样的方法:

<script language="Javascript" src="http://code.jquery.com/jquery-1.5.2.min.js"></script>

<script language="Javascript">
    $(document).ready(function() {
        $('ie:menuitem[text*="new docs view"]').remove();
    });
</script>

$(文档).ready(函数(){
$('ie:menuitem[text*=“新建文档视图”]”)。删除();
});
但它并没有真正起作用

$('ie:menuitem[text*="new docs view"]')
ie:menuitem不是标准的HTML元素。因此jQuery很可能将
:menuitem
解释为。这可能是问题的根源。

试试看

$('ie\\:menuitem[text*="new docs view"]').remove();
//or
$('menuitem[text*="new docs view"]').remove();

我只是猜测一下,因为我真的不知道jQuery在名称空间中的效果如何。

$('ie\\\:menuitem[text*=“newdocs view”])。remove()
可能会起作用。

这就是你可以做的。假设你的
菜单是第一个孩子:(肮脏的方式)


jsiddle:

您必须转义选择器中的

$("ie\\:menuitem[type='option'][text='All Documents']").remove();
显示在此处工作:

$("ie\\:menuitem[type='option'][text='All Documents']").remove();