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