如果div包含标记,则jQuery返回true或false

前端之家收集整理的这篇文章主要介绍了如果div包含标记,则jQuery返回true或false前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
让我们来看看:
<div><p>this div contains a p tag</p></div>
<div>this one is not</div>

如果div在上例中包含像p这样的特定标记,我如何为布尔值(true或false)赋值?

解决方法

$("div:has(p)").addClass("has-paragraph");

将为包含p个子节点的所有div添加一个类.如果段落不是直接的孩子,这将不会捡起来.

注意:这样做:

$("div p").addClass("has-paragraph");

将该类添加到段而不是div.您可以通过这样做来解决这个问题:

$("div p").parents("div").addClass("has-paragraph");

但这会抓住多个div的祖先.你可以这样做:

$("div p").parents("div:first").addClass("has-paragraph");

解决这个问题.

或者更多编程:

$("div").each(function() {
  if ($(this).find("p").length > 0) {
    // do stuff
  }
});

猜你在找的CSS相关文章