首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用文本的jquery搜索元素,隐藏另一个

使用文本的jquery搜索元素,隐藏另一个
EN

Stack Overflow用户
提问于 2018-08-08 09:48:14
回答 5查看 330关注 0票数 0

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

代码语言:javascript
复制
<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>

我试过:

代码语言:javascript
复制
$(document).ready(function() {
$( "div:contains('John')" )."div:contains('George')".hide();
});

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-08-08 09:50:07

你的jQuery绝对是不正确的。你需要使用:

代码语言:javascript
复制
if($("div:contains('John')").length){
    $("div:contains('George')").hide();
}

代码语言:javascript
复制
$(document).ready(function() {
  if($("div:contains('John')").length){
    $("div:contains('George')").hide();
  }
});
代码语言:javascript
复制
<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>

票数 2
EN

Stack Overflow用户

发布于 2018-08-08 09:51:38

你离我太近了!

代码语言:javascript
复制
$( "div:contains('John')" ).next("div:contains('George')").hide();

使用 next 查找下一个元素匹配。

来源:https://api.jquery.com/next/

票数 1
EN

Stack Overflow用户

发布于 2018-08-08 10:11:01

我认为你应该使用siblings而不是next,因为如果GeorgeJohn之前,next就不能工作了

代码语言:javascript
复制
<div>George Martin</div>
<div>John Resig</div>
<div>Malcom John Sinclair</div>
<div>J. Ohn</div>


$(document).ready(function() {
   $("div:contains('John')").siblings("div:contains('George')").hide(); // hide all "Georde"
   // $("div:contains('John')").siblings("div:contains('George')").first().hide(); // hide only first "Georde"
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51743588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档