美文网首页javascript
js获取不包括标签的文本内容

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

作者: YINdevelop | 来源:发表于2018-01-03 14:25 被阅读55次

我要获取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>

相关文章

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/mlmhnxtx.html