我有来自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我只需右键单击上面的行,然后单击删除元素。我如何使用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>
但它确实不起作用。
答案 0 :(得分:4)
尝试
$('ie\\:menuitem[text*="new docs view"]').remove();
//or
$('menuitem[text*="new docs view"]').remove();
因为我真的不知道jQuery如何与名称空间一起工作,所以只是猜测。
答案 1 :(得分:0)
$('ie:menuitem[text*="new docs view"]')
ie:menuitem不是标准的HTML元素。因此,jQuery可能会将:menuitem
解释为selector。这可能是你问题的根源。
答案 2 :(得分:0)
$('ie\\:menuitem[text*="new docs view"]').remove()
可能有用。
答案 3 :(得分:0)
这就是你能做的。假设你的menu
是第一个孩子:(肮脏的方式)
$("span").children(1).children().each(function(){
if($(this).attr("text") == "new docs view"){
$(this).remove();
return;
}
});
答案 4 :(得分:0)
您必须转义选择器中的:
:
$("ie\\:menuitem[type='option'][text='All Documents']").remove();