我正在尝试仅在div中的多个元素包含特定文本时才触发函数。我尝试了以下方法,但似乎无法使其工作:
HTML
<div>
<h2> Some text here </h2>
<p> Some text here too </p>
</div>
的jQuery
$(document).ready.(function(){
$('h2 && p:contains("text")'). //Do something ();
});
在这种情况下,代码应该“做某事”,因为h2和p都包含“text”。
答案 0 :(得分:2)
您可以使用length
检查元素的数量是否超过1,如下所示:
$(document).ready(function() {
if ($('div *:contains("text")').length > 1){
$('div').css('background','red')
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<h2> Some text here </h2>
<p>Some text here too</p>
</div>
答案 1 :(得分:0)
你甚至可以这样写:
$('h2:contains("text")').length + $('p:contains("text")').length === 2
这样你就可以确定h2和p都匹配了