2011-04-25 96 views
2

我有Sharepoint的HTML代碼,我想知道是否有可能僅基於「文本」屬性刪除此特定的DOM元素?如何刪除基於屬性值的DOM元素

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

使用Firebug我只需右鍵單擊上面的行並單擊刪除元素。我該如何使用Javascript和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> 

,但它並沒有真正發揮作用。

回答

4

嘗試

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

只是一個猜測,因爲我真的不知道jQuery的有多好作品名稱空間。

0
$('ie:menuitem[text*="new docs view"]') 

ie:menuitem不是標準的HTML元素。因此,jQuery可能將:menuitem解釋爲selector。這可能是你問題的根源。

0

$('ie\\:menuitem[text*="new docs view"]').remove()可能工作。

0

這就是你可以做的。假設你menu是第一部兒童:(骯髒的方式)

$("span").children(1).children().each(function(){ 
    if($(this).attr("text") == "new docs view"){ 
     $(this).remove(); 
     return; 
    } 
}); 

的jsfiddle:http://jsfiddle.net/naveed_ahmad/wdTwL/