3 回答

TA貢獻1877條經(jīng)驗 獲得超1個贊
$('.menu-item-text').each(function() {
this.textContent.trim() === 'Benefits HIDDEN' && $(this).closest('li').hide();
});
<div class="noindex ms-core-listMenu-verticalBox" id="zz13_idPDPQuickLaunch">
<ul class="root ms-core-listMenu-root static" id="zz14_RootAspMenu">
<li class="static">
<a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="/sites/pwa/">
<span class="additional-background ms-navedit-flyoutArrow">
<span class="menu-item-text">Defra Benefits Dev</span></span>
</a>
<ul class="static">
<li class="static"><a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="/sites/pwa/"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">Project Information</span></span></a></li>
<li class="static selected"><a class="static selected menu-item ms-core-listMenu-item ms-displayInline ms-core-listMenu-selected ms-navedit-linkNode" href="/sites/pwa/"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">Benefits</span><span class="ms-hidden">Currently selected</span></span></a></li>
<li class="static"><a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="/sites/pwa/"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">Benefits HIDDEN</span></span></a></li>
<li class="static"><a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="/sites/pwa/"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">Benefits HIDDEN</span></span></a></li>
</ul>
</li>
<li class="static"><a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="javascript:PDPInfrastructure.NavigateWSSPage(0,true)"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">Project Site</span></span></a></li>
</ul>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

TA貢獻1772條經(jīng)驗 獲得超8個贊
由于許多元素都包含該文本(不僅僅是span
它所在的元素,還有 the li
is span
in、itsul
等,甚至#zz13_idPDPQuickLaunch
元素本身),因此您必須更加具體地選擇您的選擇器。
理想情況下,向要隱藏的最里面的元素添加一個類或其他內(nèi)容。但你也可以從結(jié)構(gòu)上做到這一點。例如,如果您想隱藏li
s:
$(document).ready(function() { $("#zz13_idPDPQuickLaunch li ul li.static:contains('Benefits HIDDEN')").hide (); });
實例:
$(document).ready(function() {
$("#zz13_idPDPQuickLaunch li ul li.static:contains('Benefits HIDDEN')").hide ();
});
<div class=" noindex ms-core-listMenu-verticalBox" id="zz13_idPDPQuickLaunch">
<ul class="root ms-core-listMenu-root static" id="zz14_RootAspMenu">
<li class="static">
<a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="/sites/pwa/">
<span class="additional-background ms-navedit-flyoutArrow">
<span class="menu-item-text">Defra Benefits Dev</span></span>
</a>
<ul class="static">
<li class="static"><a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="/sites/pwa/"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">Project Information</span></span></a></li>
<li class="static selected"><a class="static selected menu-item ms-core-listMenu-item ms-displayInline ms-core-listMenu-selected ms-navedit-linkNode" href="/sites/pwa/"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">Benefits</span><span class="ms-hidden">Currently selected</span></span></a></li>
<li class="static"><a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="/sites/pwa/"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">Benefits HIDDEN</span></span></a></li>
<li class="static"><a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="/sites/pwa/"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">Benefits HIDDEN</span></span></a></li>
</ul>
</li>
<li class="static"><a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="javascript:PDPInfrastructure.NavigateWSSPage(0,true)"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">Project Site</span></span></a></li>
</ul>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
這就是說,您只想隱藏包含該文本的元素,前提是它們是 #zz13_idPDPQuickLaunch` 元素內(nèi)的a 內(nèi)的類li
的元素。static
ul
li

TA貢獻1946條經(jīng)驗 獲得超4個贊
您需要循環(huán)每個“l(fā)i”項目并首先檢查其中的文本。嘗試這個:
$(function(){
var menu_items = $("#zz14_RootAspMenu").find("li");
menu_items.each(function(idx,el){
var current_text = $(el).find('.menu-item-text').text();
if(current_text == "Benefits HIDDEN"){
$(this).hide();
}
})
});
- 3 回答
- 0 關(guān)注
- 177 瀏覽
添加回答
舉報