题目:要求活的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的值之后,使用文本节点进行过滤,只取得nodeType为3的节点,也就是12345
网友评论