javascript获取节点的文本值

原文地址为: javascript获取节点的文本值

我们知道通过浏览器自带的innerHTML属性能够获取节点的所包含的字符串的值,比如有如下节点:

  
< div id ="test" >< strong > i'm strong </ strong ></ div >
  

 

通过 

  
var obj = document.getElementById( " test " );

alert(obj.innerHTML);
// 返回的值是<strong>i'm strong</strong>

 

如果我想得到节点的文本值,也就不包括标签以为的字符串,怎么办呢。这里的文本值是:i'm strong

  
// 非Mozilla浏览器:

obj.innerText;

// 其他的浏览器

obj.firstChild.nodeValue;

先提供一个通用的方法来解决兼容问题:

完整代码如下:

 

8f900a89c6347c561fdf2122f13be562.jpe 961ddebeb323a10fe0623af514929fc1.jpe 代码
   
< html >
< head >
< title > title </ title >
</ head >
< body >

< div id ="test" >< strong > i'm strong </ strong ></ div >
< script type ="text/javascript" >
var obj = document.getElementById( " test " );

// 兼容浏览器获取节点文本的方法
function text(e)
{
var t = "" ;

// 如果传入的是元素,则继续遍历其子元素
// 否则假定它是一个数组
e = e.childNodes || e;

// 遍历所有子节点
for ( var j = 0 ;j < e.length;j ++ ){
// 如果不是元素,追加其文本值
// 否则,递归遍历所有元素的子节点
t += e[j].nodeType != 1 ?
e[j].nodeValue:text(e[j].childNodes);
}
// 返回区配的文本
return t;
}
alert(text(obj))
</ script >
</ body >
</ html >

 

 

 

 转载请注明来自:http://www.cnblogs.com/wbkt2t/

 

 

 


转载请注明本文地址: javascript获取节点的文本值
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值