让我们来看看:
<div><p>this div contains a p tag</p></div>
<div>this one is not</div>
Run Code Online (Sandbox Code Playgroud)
如果div在上面的示例中包含像p这样的特定标记,我如何为布尔值(true或false)赋值?
cle*_*tus 17
$("div:has(p)").addClass("has-paragraph");
Run Code Online (Sandbox Code Playgroud)
将为包含p个子节点的所有div添加一个类.如果段落不是直接的孩子,这将不会捡起来.
注意:这样做:
$("div p").addClass("has-paragraph");
Run Code Online (Sandbox Code Playgroud)
将该类添加到段而不是div.您可以通过这样做来解决这个问题:
$("div p").parents("div").addClass("has-paragraph");
Run Code Online (Sandbox Code Playgroud)
但这会抓住多个div的祖先.你可以这样做:
$("div p").parents("div:first").addClass("has-paragraph");
Run Code Online (Sandbox Code Playgroud)
解决这个问题.
或者更多编程:
$("div").each(function() {
if ($(this).find("p").length > 0) {
// do stuff
}
});
Run Code Online (Sandbox Code Playgroud)
给你的div一个ID,然后:
if($('#myDiv p').length) {
alert('I have a paragraph');
}
Run Code Online (Sandbox Code Playgroud)