热门搜索 :
考研考公
您的当前位置:首页正文

js获取不包括标签的文本内容

来源:东饰资讯网

我要获取p标签里面内容1

<div>
    <p>内容1<span>内容2</span></p>
</div>

使用jquery方法测试失败

var str1 =$("div p").html()
var str2 =$("div p").text()
console.log(str1) //内容1<span>内容2</span>
console.log(str2) //内容1内容2

那么我们可以使用原生js的nodeType属性来实现:

类别 nodeType
标签 1
属性 2
文本 3

具体其他属性可以网上搜索查找。

使用方法:

var str3 = $("div p").contents().filter(function(index, content) {
    return content.nodeType === 3;
}).text();

console.log(str3) //内容1

jQuery的contents()方法表示查找匹配元素内部所有的子节点(包括文本节点)。保存在数组里面.

console.log($("div p").contents()[0]) //"内容1"
console.log($("div p").contents()[1]) //<span>内容2</span>
Top