我想选择所有带有直接文字内容的元素。所以给出了文件
<div>
<h1>Hi</h1>
<article>
<p>blah balah blah</p>
<p>blah blahrg blarg</p>
</article>
<footer></footer>
</div>
我想选择h1和p元素(总共3个元素)。有一种简单的方法可以做到这一点吗?
答案 0 :(得分:3)
(function(){
var ignoredNodes = {
"script" : true,
"noscript" : true
};
jQuery("*", "body").filter(
function(){
var c;
if( this.nodeName.toLowerCase() in ignoredNodes ) {
return false;
}
c = this.firstChild;
return c && c.nodeType === 3 && jQuery.trim(c.data);
}
);
//[<h1>Hi</h1>, <p>blah balah blah</p>, <p>blah blahrg blarg</p>]
})()
答案 1 :(得分:1)
我认为这是在这里得到的回答: How do I select text nodes with jQuery? 使用jquery和纯JavaScript解决方案