检查是否有多个元素:包含某些文本

时间:2016-10-18 14:05:38

标签: jquery

我正在尝试仅在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”。

2 个答案:

答案 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都匹配了