首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery -检查元素是否为父元素

jQuery -检查元素是否为父元素
EN

Stack Overflow用户
提问于 2012-12-02 00:04:07
回答 3查看 99关注 0票数 0

我知道通过过滤它是

代码语言:javascript
运行
复制
$("div:parent")

但是如何使用遍历来查看元素是否为父元素呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-02 00:16:31

尝试使用:has

代码语言:javascript
运行
复制
$('div:has(*)')

.has()

代码语言:javascript
运行
复制
$('div').has('*')

如果您想检查它是否包含任何内容..使用:empty选择器

代码语言:javascript
运行
复制
$('div:empty')
票数 1
EN

Stack Overflow用户

发布于 2012-12-02 00:11:25

如果您对$('div:parent')不满意,并且希望显式调用jQuery遍历方法,则可以使用

代码语言:javascript
运行
复制
$('div').filter(function(){return $(this).children().length})

如果需要,我们可能会提出更慢或可读性更差的建议。

请注意,这与使用childNodes并不完全相同。如果您想查看是否没有内容,包括文本,您可能更喜欢

代码语言:javascript
运行
复制
$('div').filter(function(){return $(this).contents().length})
票数 2
EN

Stack Overflow用户

发布于 2012-12-02 08:51:56

您要使用的是:empty http://api.jquery.com/empty-selector/

但是要小心,如果里面有空格,就不会认为它们是空的。因此,您可以创建另一个选择器/表达式

工作演示:http://jsfiddle.net/fedmich/7WdmD/

代码语言:javascript
运行
复制
$(function() {
    $.extend($.expr[':'],{
    empty_noWhiteSpace: function(a,i,m){
        return $.trim(a.innerHTML) === '';
    }
});

    $('ul li:empty_noWhiteSpace').addClass('is_empty');
});?

因为当你有一个像这样的列表项

  • </li> <li> not empty </li> that第一个li项有换行符,因此它仍然被认为不是空的‘: tag
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13661111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档