首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery,查找元素是否包含任何文本

jQuery,查找元素是否包含任何文本
EN

Stack Overflow用户
提问于 2010-03-04 18:53:52
回答 3查看 50.7K关注 0票数 35

我正在处理一些生成的跨度,我想找出其中哪一个不包含任何文本。

标记为:

代码语言:javascript
运行
复制
<span id="layer6">
    <span class="drag col">  Some text</span>
    <span class="drag col">  More text</span>
    <span class="drag col">  </span>
    <span class="drag col">  I also have text</span>
</span>

我可以在下面的代码中获取包含“一些文本”的内容,但不能获取空的内容:

代码语言:javascript
运行
复制
if ($('#layer6 > span.col:contains("some text")').length > 0) {
    alert ("I have text");
}

如何获取空的?我正在考虑使用.length来做这件事,但我没有做到。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-04 19:17:47

代码语言:javascript
运行
复制
$("span.col").each(function(){
    if (!$(this).text().trim().length) {
        $(this).addClass("foo");
    }
});

http://jsfiddle.net/cfgr9/1/

显然,不是添加一个可以随心所欲的类,而是返回对象等

更新:删除了导致js错误的最后一个分号后奇怪的隐藏字符。

票数 53
EN

Stack Overflow用户

发布于 2010-03-04 19:05:33

使用filter过滤那些没有文本内容的元素:

代码语言:javascript
运行
复制
$('#layer6 > span.col').filter(function(){
    return $(this).text().trim() != "";
}).length
票数 9
EN

Stack Overflow用户

发布于 2012-02-05 21:05:44

代码语言:javascript
运行
复制
$('span:empty').css('background-color','red');
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2378620

复制
相关文章

相似问题

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