function getText(n) {
// JavaScript Document
function getStrings(n, strings)
{
if(n.nodeType == 3) strings.push(n.data);
else if(n.nodeType == 1){
for(var m = n.firstChild; m != null; m = m.nextSibling){
getStrings(m, strings);}
}
}
var strings = [];
getStrings(n, strings);
return strings.join(" ");
} 请指教 为什么getStrings(n, strings);不能调用上面定义的那个函数呢??
// JavaScript Document
}
var strings = [];
getStrings(n, strings);
return strings.join(" ");
}
function getStrings(n, strings)
{
if(n.nodeType == 3) strings.push(n.data);
else if(n.nodeType == 1){
for(var m = n.firstChild; m != null; m = m.nextSibling){
getStrings(m, strings);}
}
<body>
<table ID="kk">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table><script type="text/javascript">
<!--
function getText(n) {
// JavaScript Document
function getStrings(n, strings)
{
if(n.nodeType == 3) strings.push(n.data);
else if(n.nodeType == 1){
for(var m = n.firstChild; m != null; m = m.nextSibling){
getStrings(m, strings);}
}
}
var strings = [];
getStrings(n, strings);
return strings.join(" ");
} alert(getText(document.getElementById("kk")))
//-->
</script> </body>
<!--
function getText(n) {
// JavaScript Document
function getStrings(n, strings)
{
if(n.nodeType == 3) strings.push(n.data);
else if(n.nodeType == 1){
for(var m = n.firstChild; m != null; m = m.nextSibling){
getStrings(m, strings);}
}
}
var strings = [];
getStrings(n, strings);
return strings.join(" ");
} window.onload=function()
{
alert(getText(document.getElementById("kk")))
}
//-->
</script>
这样也可以 。这个主要是与页面的渲染顺序有关系。浏览器会先下载css js文件。此时你的body还没有渲染完成。所以找不到你所要找的元素 。放在load时间里就可以
<script type="text/javascript">function getText(n){function getStrings(n, strings)
{
if(n.nodeType == 3) strings.push(n.data);
else if(n.nodeType == 1){
for(var m = n.firstChild; m != null; m = m.nextSibling){
getStrings(m, strings);}
}
}
var strings=[];
getStrings(n,strings);
return strings.join(" ");
}
</script>
<body onload="alert(getText(document.getElementById("id"))">
<ul ID="id">
<li>a</li>
<li>s</li>
<li>d</li>
</ul>
我想知道 我这个是定义的onload事件 不是等到页面全部载入然后再调用这个函数么?这个为什么不行啊??真的想不明白
{
if(n.nodeType == 3) strings.push(n.data);
else if(n.nodeType == 1){
for(var m = n.firstChild; m != null; m = m.nextSibling){
getStrings(m, strings);}
}
}
var strings=[];
getStrings(n,strings);
return strings.join(" ");
}
</script>
<body onload="alert(getText(document.getElementById('id')))">
<ul ID="id">
<li>a</li>
<li>s</li>
<li>d</li>
</ul>
</body>