Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 检查是否有多个元素:包含特定文本_Jquery - Fatal编程技术网

Jquery 检查是否有多个元素:包含特定文本

Jquery 检查是否有多个元素:包含特定文本,jquery,Jquery,我试图让一个函数只有在div中有多个元素包含某个文本时才会启动。我尝试过以下方法,但似乎无法奏效: HTML <div> <h2> Some text here </h2> <p> Some text here too </p> </div> 在这种情况下,代码应该“做点什么”,因为h2和p都包含“text” 您可以使用length检查元素的数量是否超过1,如下所示: $(文档).ready(函数(){

我试图让一个函数只有在div中有多个元素包含某个文本时才会启动。我尝试过以下方法,但似乎无法奏效:

HTML

<div>
    <h2> Some text here </h2>
    <p> Some text here too </p>
</div>

在这种情况下,代码应该“做点什么”,因为h2和p都包含“text”

您可以使用
length
检查元素的数量是否超过1,如下所示:

$(文档).ready(函数(){
如果($('div*:包含(“文本”)).length>1{
$('div').css('background','red'))
}
});

这里有一些文字
这里也有一些文字


您甚至可以编写以下内容:

$('h2:contains("text")').length + $('p:contains("text")').length === 2

这样,您将确保h2和p都匹配

如果有两个div,其中一个包含一个包含“text”的元素,那么它将失败@A.沃尔夫说得对,但这种情况本身并不是问题的一部分;无论如何,这里的逻辑将适用于任何特殊情况,只要稍作修改。。。例如,您指出的一个,但是您应该使用:
$('>*:contains(“text”)”),this)
,否则它仍然可能会令人困惑或更相关!这一方法对我很有效,结合了.Wolff的观察,即当有多个div时,$('>*:contains(“text”)’,This)将起作用!
$('h2:contains("text")').length + $('p:contains("text")').length === 2