如何使用Jquery检查列表中的确切文本?

Hai*_*ien 5 html jquery

我列出了一个:

<div class='label'>
   <a>Menu</a>
   <a>Menu Food</a>
   <a>Menu Drink</a>
   <a>Cheese</a>
 </div>
 <div class="mytext">
   this text need hide.
 </div>
Run Code Online (Sandbox Code Playgroud)

我如何检查a上面的列表有确切的文字="菜单".

我使用过这个脚本,但它不起作用:

 $('.label a').filter(function(){
  if($.trim($(this).text()) == "Menu"){
       $('.mytext').show();
  } 
   else {
     $('.mytext').hide();
     }
});
Run Code Online (Sandbox Code Playgroud)

我也不能for loop在里面使用和使用条件.

非常感谢你.

Zak*_*rki 2

更新了小提琴

您可以使用 return 对所有匹配的锚点应用操作:

return $.trim($(this).text()) == "Menu";
Run Code Online (Sandbox Code Playgroud)

如果您想显示div是否有带有文本的锚点,您可以在条件中Menu使用标志(在我的示例中),然后显示 if :menu_existtrue

var menu_exist=false;
$('.mytext').hide();

$('.label a').filter(function(){
  if($.trim($(this).text())=="Menu"){
    menu_exist=true;
  }
});

if(menu_exist){
  $('.mytext').show();
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。

return $.trim($(this).text()) == "Menu";
Run Code Online (Sandbox Code Playgroud)
var menu_exist=false;
$('.mytext').hide();

$('.label a').filter(function(){
  if($.trim($(this).text())=="Menu"){
    menu_exist=true;
  }
});

if(menu_exist){
  $('.mytext').show();
}
Run Code Online (Sandbox Code Playgroud)