我要获取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>
网友评论