題目:要求活的a里面的12345元素,注意不包括span內元素
<a href="">
<span>熱1</span>
<span>熱2</span>
12345
</a>
解題:
看起來很簡單是吧?我也這么認為呢很洋!然后我就寫下來這幾行代碼:
var $a=$("a").text();
var $b=$("a:not(span)").text();
console.log("$a=" + $a); //熱1 熱2 12345
console.log("$b=" + $b); //熱1 熱2 12345
注意:這里不能使用not
:not()
從匹配元素集合中刪除元素,這是jquery的遍歷,在這里不合適贺氓。
通過求助小伙伴,收獲以下解法:
方法1:
var cA=$("a").clone();
cA.find('span').remove();
console.log(cA.text());//12345
這里對$("a")
進行克隆床蜘,然后刪除其中的span
辙培,最后獲取其中的text,就可以得到正確的text
方法2:
var a = var a = $('a').contents().filter(function() {
return this.nodeType === 3;
}).text();
console.log(a);//12345
這里取到a的值之后邢锯,使用文本節(jié)點進行過濾扬蕊,只取得nodeType為3的節(jié)點,也就是12345