JavaScript獲取節點的文本值
來源:程序員人生 發布時間:2014-01-22 18:23:56 閱讀次數:3470次
我們知道通過瀏覽器自帶的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;
先提供一個通用的方法來解決兼容問題:
完整代碼如下:
<html>
<head>
<title>JavaScript獲取節點的文本值-liehuo.net</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/
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈