JavaScript -- 练习,Dom 获取节点
2013-11-25 22:47
441 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script type="text/javascript"> function demo() { var divObj = document.getElementById("divid1"); //根据ID获取 divObj.style.backgroundColor = "red"; var parentNode = divObj.parentNode; //父节点 //getNodeInfo(parentNode); var childNodes = divObj.childNodes; //子节点 //getNodeInfo(childNodes[0]); var preNode = divObj.previousSibling.previousSibling; //前一个节点 //getNodeInfo(preNode); var nextNode = divObj.nextSibling; //下一个节点 //getNodeInfo(nextNode); //获取节点的方法: //1、getElementById(HTML标签中定义的id值) //2、getElementsByName(HTML标签中定义的name值) //3、getElementsByTagName(HTML标签名) var tabNode = document.getElementById("table1"); var tdNodes = tabNode.getElementsByTagName("td"); getNodeInfo(tdNodes[0].childNodes[0]); } function getNodeInfo(node) { alert("name:"+node.nodeName+"...type:"+node.nodeType+"...value:"+node.nodeValue+"---"); } //--------------------------打印层级节点 var str = ""; function listNode(node, level) { printInfo(node, level); level++; var nodes = node.childNodes; alert(nodes); for(var x=0; x<nodes.length; x++) { if(nodes[x].hasChildNodes()) listNode(nodes[x], level); else printInfo(node, level); } } function printInfo(node, level) { str += getSpace(level) + "name:"+node.nodeName+"...type:"+node.nodeType+"...value:"+node.nodeValue+"<br/>"; } function getSpace(level) { var s = ""; for(var x=0; x<level; x++) { s += "|----"; } return s; } function showNode() { listNode(document, 0); document.write(str); } </script> </head> <body> <input type="button" value="点击" onclick="showNode()" /> <div id="divid1"> ssssssssss </div> <table id="table1" border="1px"> <tr> <td>单元格一</td> <td>单元格二</td> </tr> <tr> <td>单元格三</td> <td>单元格四</td> </tr> </table> </body> </html>
相关文章推荐
- javascript之ajax初探
- javascript设计模式【02】继承
- JSF —— 以编程方式访问用户界面组件
- C# Json序列化和反序列化辅助类(官方DLL)
- 在使用JSTL时要往项目里导的jstl.jar和standard,jar在哪里找?
- js判断大小 文件上传
- 没有文件扩展“.js”的脚本引擎问题解决
- 没有文件扩展“.js”的脚本引擎问题解决
- 没有文件扩展“.js”的脚本引擎问题解决
- jstl隔行显示不同的背景色与ajax隔行显示不同的颜色
- 浏览器插件 - 通用注入模版JS
- 安卓客户端解析json
- 服务器端返回json
- 37-JavaScript-DOM-小游戏-小球碰撞后折返
- javascript中常用的设计模式
- 程序员远程工作必会编程语言JavaScript
- IIS支持解析json
- JS的封装
- JSP页面跳转的几种实现方法
- jsp:useBean用法