假设我们有以下标记:
<p>
foo
</p>
<p>
</p>
<p>
bar
</p>
<p>
</p>
我们想要选择段落,其中包含一些可供用户看到的内容。是否有方式如何直接使用某个选择器实现此目标?还是必须循环使用它们?
目前我坚持这个:
var paragraphs = $('p');
var nonEmptyParagraphs = [];
var curP;
for(var i=0; i<paragraphs.length; i++) {
curP = $(paragraphs[i]);
if(curP.text().length > 0) {
nonEmptyParagraphs.push(curP);
}
}
感谢您的建议!
答案 0 :(得分:2)
您可以选择非空,请执行以下操作。
$('p').filter(function () {
if ($(this).text().trim())
return this;
})
答案 1 :(得分:0)
您忘记了javascript trim()函数以删除<p>
元素
if(curP.text().trim().length > 0) {
nonEmptyParagraphs.push(curP);
}