javascript - 如果另一个 div 包含 jQuery 中的特定字符串,则隐藏该 div

标签 javascript jquery hide contains

我想检查页面上的元素是否包含文本短语,它显示第二个隐藏容器?例如,“#product-description”包含“best Gift”,然后在产品图像上显示一个隐藏容器“#best-gift-graphic”。我已经找到了绕过这个问题的答案,并解决了各个部分,但我似乎无法将它们放在一起。

我找到了隐藏包含文本的元素的解决方案:

<script type="text/javascript">
 $(document).ready(function () {
  $("div p:contains('text')").parent('div').hide();
 });
</script>

我需要将显示/隐藏应用到第二个容器,而不是包含目标短语的容器。对于 jquery 来说是个新手,只是想了解语法。谢谢期待。

最佳答案

您需要检查长度以查看是否存在任何项目,然后可以使用 .hide() 隐藏相应的元素(如果有):

if ($('#product-description:contains("best gift")').length) { // check if this exists
  $('#best-gift-graphic').hide(); // hide this
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="product-description">best gift</div>
<div id="best-gift-graphic">this is hidden</div>

关于javascript - 如果另一个 div 包含 jQuery 中的特定字符串,则隐藏该 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54465011/

相关文章:

javascript - 如何将对象数组转换为数组

javascript - 如何在 JavaScript/jQuery 中使用 .play() 播放随机音频剪辑

javascript - 手动调整元素大小不会触发 Chrome 中的突变观察器

javascript - 使用 jQuery 时是否有用于声明函数的特殊语法?

javascript - 如何使用 jquery/Javascript 将段落合并到父链接中?

javascript - 弹出窗口上的验证码

javascript - ajax成功函数的返回值

html - 显示/隐藏 DIV Chrome 扩展

jquery - 如果图像未悬停,则隐藏 div

jQuery 多个 div 显示一次仅隐藏一个