0
我想選擇所有具有直接文本內容的元素。所以鑑於文件選擇包含文字內容的元素?
<div>
<h1>Hi</h1>
<article>
<p>blah balah blah</p>
<p>blah blahrg blarg</p>
</article>
<footer></footer>
</div>
我想選擇h1和p元素(所以總共3個元素)。有沒有簡單的方法來做到這一點?
我想選擇所有具有直接文本內容的元素。所以鑑於文件選擇包含文字內容的元素?
<div>
<h1>Hi</h1>
<article>
<p>blah balah blah</p>
<p>blah blahrg blarg</p>
</article>
<footer></footer>
</div>
我想選擇h1和p元素(所以總共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>]
})()
我不知道,如果'c.data'是跨瀏覽器,也有一個'nodeValue'屬性具有文字內容。修剪需要過濾掉空的文本節點,例如當你有一個很好的Esailija div – Esailija
之後換行時創建的,我猜他希望刪除body元素中的所有非語義元素,例如
我認爲這是在這裏找到答案: How do I select text nodes with jQuery? 既jQuery和純JavaScript解決方案
來源
2011-10-16 23:20:15 alonisser