首页 > 解决方案 > 带有文本的jquery搜索元素,隐藏另一个

问题描述

如何在元素中搜索文本字符串并隐藏另一个?例如:如果一个 div 包含 John 的名字,那么包含 George 名字的 div 应该被隐藏。

<div>John Resig</div>
<div class="test">George Martin</div>
<div>Malcom John Sinclair</div>
<div>J. Ohn</div>
<div>John Resig</div>
<div>George Martin</div>
<div>Malcom John Sinclair</div>
<div>J. Ohn</div>

我努力了:

$(document).ready(function() {
$( "div:contains('John')" )."div:contains('George')".hide();
});

或者我不应该首先使用 jQuery contains 吗?

标签: javascriptjquery

解决方案


你的 jQuery 无论如何都是不正确的。您需要使用:

if($("div:contains('John')").length){
    $("div:contains('George')").hide();
}

$(document).ready(function() {
  if($("div:contains('John')").length){
    $("div:contains('George')").hide();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>John Resig</div>
<div>George Martin</div>
<div>Malcom John Sinclair</div>
<div>J. Ohn</div>


推荐阅读