如果div在jQuery中包含特定字符串,则隐藏div

时间:2019-01-31 16:25:28

标签: 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>

我需要将show / hide应用于第二个容器,而不是包含目标短语的容器。这对jquery来说确实很新,只想了解语法。谢谢您的期待。

1 个答案:

答案 0 :(得分:1)

您需要检查长度以查看是否存在任何项目,然后可以使用.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>