2017-09-22 33 views
1

如果其他李包含文本「土耳其|肉類」,我如何隱藏文本「魚」的李?我覺得這個代碼應該做的伎倆,但也許「|」 「土耳其|肉類」中的字符導致代碼無法工作?如果一個父菜單項包含特定文本,如何隱藏導航父菜單項?

更新:我第一次輸入了錯誤的HTML & jQuery。獨特的類適用於「li」而不是「a」,而第二個「a」具有自己獨特的類。

jQuery(function($) { 
 
    if ($('.nav-a').text() === 'Turkey | Meats') { 
 
    $('.nav-link-1').hide(); 
 
    } else { 
 
    $('.nav-link-1').show(); 
 
    } 
 
});
<div class="nav"> 
 
    <ul class="nav-list"> 
 
    <li class="nav-link nav-link-1"> 
 
     <a href="" class="nav-link">Fish</a> 
 
    </li> 
 
    <li class="nav-link nav-link-2"> 
 
     <a href="" class="nav-link nav-a">Turkey | Meats</a> 
 
    </li> 
 
    </ul> 
 
</div>

+0

'$(」導航鏈接-1' )父()隱藏();' - 不知道這是值得的答案 – mplungjan

+0

@PraveenKumar,已刪除回答工作,謝謝!添加「.trim()」並刪除一個額外的「=」做了訣竅。 – Weebs

+1

@Weebs Lemme取消刪除。你可以接受。 –

回答

1

你做什麼是對的,但你應該:

  1. 修剪的內容。大部分文本內容將包含大量的空格。
  2. 不使用嚴格比較。
  3. 隱藏或顯示<li>

jQuery(function($) { 
 
    if ($('.nav-link-2').text().trim() == 'Turkey | Meats') { 
 
    $('.nav-link-1').parent().hide(); 
 
    } else { 
 
    $('.nav-link-1').parent().show(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="nav"> 
 
    <ul class="nav-list"> 
 
    <li class="nav-link"> 
 
     <a href="" class="nav-link-1">Fish</a> 
 
    </li> 
 
    <li class="nav-link"> 
 
     <a href="" class="nav-link-2">Turkey | Meats</a> 
 
    </li> 
 
    </ul> 
 
</div>

+0

因OP的評論而未被刪除:* @ PraveenKumar,您刪除的答案有效,謝謝!添加「.trim()」並刪除一個額外的「=」做了訣竅。* –