我要检查页面上的某个元素是否包含文本短语,它是否显示了另一个隐藏容器?例如,“#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来说确实很新,只想了解语法。谢谢您的期待。
答案 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>