javascript如何依次读取网页中所有的节点 var index;for(index=0;index<=document.all.length;index++){ document.all[index]} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <div style="position: absolute; width: 100px; height: 100px; z-index: 1" id="layer1"><table border="1" width="100%" id="table1"> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr></table><div style="position: absolute; width: 100px; height: 100px; z-index: 1" id="layer2"><table border="1" width="100%"id =table2> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> </tr></table> </div> </div>最后输出<layer1><table1/><layer2><table2/></layer2></layer1> 我写的一个读xml文档的代码,也可以应用到html上,通过调用parseXML(node),可以将这个node下面的所有element类型节点取出来,并且将它的attr转化成js对象的属性。/***parseXML 将相应部分XML文档解析成所需数组结构*@param {Obj} xmlNode*@return Object 的数组,Object的属性包含了相应xmlNode的attr,以及attr的个数,xmlNode的tagName*@see #getXMLAttrs*/function parseXML(xmlNode){ var nodes=xmlNode.childNodes; var objArr=new Array(); for(var i=0,j=0;i<nodes.length;i++) { if(nodes.item(i).nodeType==1) //Element type { objArr[j]=getXMLAttrs(nodes.item(i)); j++; } } return objArr;}/***getXMLAttrs 对parseXML函数的的改善,将包含的得到节点各属性的代码独立出来*@param {Object} xmlNode*@return Object Object的属性包含了相应xmlNode的attr,以及attr的个数,xmlNode的tagName*/function getXMLAttrs(xmlNode){ if(xmlNode.nodeType=="1") { var tmpObj=new Object(); var attrs=xmlNode.attributes; for(var n=0;n<attrs.length;n++) { tmpObj[attrs.item(n).nodeName]=attrs.item(n).nodeValue; } tmpObj.length=attrs.length; tmpObj.tagName=xmlNode.nodeName; if(xmlNode.hasChildNodes) { tmpObj.childArr=parseXML(xmlNode); } return tmpObj; }else { alert(xmlNode+"错误,该xml node不是元素节点,没有attr属性!"); return null; } } js中如何实现一个添加操作对应的方法?主要数据类型问题 简单的使用Document.getElementById().value好像不对吧 求一个键盘弹起后执行的函数 php 新人求助? 新手提问,请帮忙,很急。谢谢! 高手进!xmldom的问题 关于网页加密的问题 向大家请教下 apply 的作用和用法,谢谢! 怎么样取<body><img src="..."></body><html></html>中body里面的值或者img相关的值啊? 多边 JavaScript 怎么计算网页打开的时间 求教styleClass如何使用?
<div style="position: absolute; width: 100px; height: 100px; z-index: 1" id="layer1"><table border="1" width="100%" id="table1">
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<div style="position: absolute; width: 100px; height: 100px; z-index: 1" id="layer2">
<table border="1" width="100%"id =table2>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</div>
</div>
最后输出
<layer1>
<table1/>
<layer2>
<table2/>
</layer2>
</layer1>
/**
*parseXML 将相应部分XML文档解析成所需数组结构
*@param {Obj} xmlNode
*@return Object 的数组,Object的属性包含了相应xmlNode的attr,以及attr的个数,xmlNode的tagName
*@see #getXMLAttrs
*/
function parseXML(xmlNode)
{
var nodes=xmlNode.childNodes;
var objArr=new Array();
for(var i=0,j=0;i<nodes.length;i++)
{
if(nodes.item(i).nodeType==1) //Element type
{
objArr[j]=getXMLAttrs(nodes.item(i));
j++;
}
}
return objArr;
}/**
*getXMLAttrs 对parseXML函数的的改善,将包含的得到节点各属性的代码独立出来
*@param {Object} xmlNode
*@return Object Object的属性包含了相应xmlNode的attr,以及attr的个数,xmlNode的tagName
*/
function getXMLAttrs(xmlNode)
{
if(xmlNode.nodeType=="1")
{
var tmpObj=new Object();
var attrs=xmlNode.attributes;
for(var n=0;n<attrs.length;n++)
{
tmpObj[attrs.item(n).nodeName]=attrs.item(n).nodeValue;
}
tmpObj.length=attrs.length;
tmpObj.tagName=xmlNode.nodeName;
if(xmlNode.hasChildNodes)
{
tmpObj.childArr=parseXML(xmlNode);
}
return tmpObj;
}else
{
alert(xmlNode+"错误,该xml node不是元素节点,没有attr属性!");
return null;
}
}