js jq 如何获取文本节点

获取元素文本节点的方法网上有好几种,我对比了用其中最简单的一种
1、jquery获取

<div id="demo">只获取我<a href="">别管我</a></div>

var a = $ ("#demo").prop ('firstChild').nodeValue;
console.log(a);

1、js原生获取

<div id="demo">只获取我<a href="">别管我</a></div>

var a = document.getElementById('demo').firstChild.nodeValue;
console.log(a);

或者:

对于下面的html片段,

<div id="text_test">test text<a href="techbrood.com">techbrood co.</a></div>

获取节点纯文本:

var text = $('#text_test').text()

这个会得到“test text techbrood co.”,也就是会把当前元素的所有节点(包含子节点)的文本读取出来。

如果只想获取主节点的文本,方法复杂点:

var text = $("#text_test").contents().filter(function() {
    return this.nodeType === 3;
}).text();


获取某子节点的文本:

var text = $("#text_test > a").first().contents().filter(function() {
    return this.nodeType === 3;
}).text();

猜你喜欢

转载自blog.csdn.net/gaoqiang1112/article/details/82900983