javascript - 为什么搜索不到DOM树中的文本节点?

查看:101
本文介绍了javascript - 为什么搜索不到DOM树中的文本节点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<html>
<head>
    <meta charset="utf-8">
    <title>测试能够找到内容</title>
</head>
<body>
    132****5698
    <div>
        <div>姓名</div>
        <div>学校</div>
    </div>
    <div>
        <p>132****5698</p>
    </div>
    <div>
        <span>010-15*2452</span>
    </div>
</body>
</html>

这段代码的DOM树是这样子么?

当我这样子查询的时候应该查询到的只是DOM树中的所有元素节点,但是我想查询到DOM树中的所有文本节点应该什么解决办法呢?

var body = document.getElementsByTagName('body');
var bodyChildren = body[0].getElementsByTagName('*');

解决方案

getElementsByTagName() 方法返回一个实时的包含具有给出标签名的元素们的HTMLCollection。就意味着getElementsByTagName捕获不了Text节点,你可以用

for(var i = 0;i<bodyChildren.length;i++){
    console.log(bodyChildren[i].nodeType)
}

遍历的结果都是1

document.getElementsByTagName('body')[0].innerText

返回所有文本

这篇关于javascript - 为什么搜索不到DOM树中的文本节点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆