首页 > 软件操作教程 > 编程开发 > JavaScript
题目内容

JavaScript 访问文本节点

题目答案

■知识点

使用nodeValue或data属性可以访问文本节点包含的文本。使用length属性可以获取包含文本的长度,利用该属性可以遍历文本节点中每个字符。

■实例设计

设计一个读取元素包含文本的通用方法。

//获取指定元素包含的文本

//参数:e表示指定元素

//返回值:返回包含的所有文本,包括子元素中包含的文本

function text (e){

    var s = "";

    var e = e.childNodes || e;

    for( var i = 0; i < e.length; i++){

        s += e[i].nodeType != 1 ? e[i].nodeValue : text(e[i].childNodes);  //通过递归遍历所有元素的子节点

}

return s;

}

  在上面的函数中,通过递归函数检索指定元素的所有子节点,然后判断每个子节点的类型,如果不是元素,则读取该节点的值,否则再递归遍历该元素包含的所有子节点。

下面使用上面定义的通用方法读取div元素包含的所有文本信息。

<div id=,"divl">

    <span class="red">div</span>

    元素

</div>

<script>

var div = document.getElementByld("divl");

var s = text(div); //调用读取元素的文本通用方法

console.log(s) ; //返回字符串"div元素"

</script>

这个通用方法不仅可以在HTML DOM中使用,也可以在XML DOM文档中工作,并兼容不同浏览器。

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端