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

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

内容1内容2

使用jquery方法测试失败

var str1 =$("div p").html()
var str2 =$("div p").text()
console.log(str1) //内容1内容2
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]) //内容2

你可能感兴趣的:(js获取不包括标签的文本内容)