在javascript中对于DOM的加强 |
本文标签:javascript,DOM 一、DOM DOM: DOM= Document Object Model,文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构 。换句话说,这是表示和处理一个HTML或XML文档的常用方法 。有一点很重要,DOM的设计是以对象管理组织(OMG)的规约为基础的,因此可以用于任何编程语言. 二、DOM的结构
三、节点 根据 DOM,HTML 文档中的每个成分都是一个节点 。DOM 是这样规定的: 四、Node 层次 节点彼此都有等级关系 。 五、节点及其类型 节点 节点树 六、查找并访问节点 你可通过若干种方法来查找您希望操作的元素: 七、查找元素节点 getElementById() <input type="text" value="国庆60周年" id="tid"> getElementsByName() <form name="form1">
复制代码 代码如下: <input type="text" name="username" value="国庆60年_1" /><br> <input type="text" name="username" value="国庆60年_2" /><br> <input type="text" name="username" value="国庆60年_3" /><br> <input type="button" name="ok" value="保存" id="ok"><br> <script language="JavaScript"> //该方法返回是数组类型 var usernameElements=document.getElementsByName("username"); for (var i = 0; i < usernameElements.length; i++) { //获取元素的类型 //alert(usernameElements[i].type) //获取元素value的值 //alert(usernameElements[i].value); //采用函数直接量的方法 usernameElements[i].onchange = function(){ alert(this.value); } } </script> <input type="text" name="username" value="国庆60年_1" /><br> <input type="text" name="username" value="国庆60年_2" /><br> <input type="text" name="username" value="国庆60年_3" /><br> <input type="button" name="ok" value="保存" id="ok"><br><script language="JavaScript"> //该方法返回是数组类型 var usernameElements=document.getElementsByName("username"); for (var i = 0; i < usernameElements.length; i++) { //获取元素的类型 //alert(usernameElements[i].type) //获取元素value的值 //alert(usernameElements[i].value); //采用函数直接量的方法 usernameElements[i].onchange = function(){ alert(this.value); }} </script> getElementsByTagName() 复制代码 代码如下: // //处理input // var inputElements=document.getElementsByTagName("input"); // //输出input标签的长度 // //alert(inputElements.length); // for(var i=0;i<inputElements.length;i++){ // if(inputElements[i].type!=button){//submit // alert(inputElements[i].value); // } // } //处理select // //处理input// var inputElements=document.getElementsByTagName("input");// //输出input标签的长度// //alert(inputElements.length);// for(var i=0;i<inputElements.length;i++){// if(inputElements[i].type!=button){//submit// alert(inputElements[i].value);// }// }//处理select// //获取select标签// var selectElements=document.getElementsByTagName("select");// //获取select下的子标签// for(var j=0;j<selectElements.length;j++){// var optionElements=selectElements[j].getElementsByTagName("option");// for(var i=0;i<optionElements.length;i++){// alert(optionElements[i].value);// }// } var textareaElements=document.getElementsByTagName("textarea"); alert(textareaElements[0].value); 复制代码 代码如下: var inputElements=document.getElementsByTagName("input"); for(var i=0;i<inputElements.length;i++){ if (inputElements.type != submit) { inputElements[i].onchange = function(){ alert(this.value) }; } var selectElements=document.getElementsByTagName("select"); for (var i = 0; i < selectElements.length; i++) { selectElements[i].onchange=function(){ alert(this.value); } } var inputElements=document.getElementsByTagName("input"); for(var i=0;i<inputElements.length;i++){ if (inputElements.type != submit) { inputElements[i].onchange = function(){ alert(this.value) }; } var selectElements=document.getElementsByTagName("select"); for (var i = 0; i < selectElements.length; i++) { selectElements[i].onchange=function(){ alert(this.value); } } 八、parentNode、firstChild以及lastChild 这三个属性 parentNode、firstChild 以及 lastChild 可遵循文档的结构,在文档中进行“短距离的旅行” 。 复制代码 代码如下: <table> <tr> <td>John</td> <td>Doe</td> <td>Alaska</td> </tr> </table>
复制代码 代码如下: var textareaElements=document.getElementsByTagName("textarea"); for (var i = 0; i < textareaElements.length; i++) { textareaElements[i].onchange = function(){ alert(this.value); }; } var textareaElements=document.getElementsByTagName("textarea"); for (var i = 0; i < textareaElements.length; i++) { textareaElements[i].onchange = function(){ alert(this.value); }; } 九、查看是否存在子节点 hasChildNodes() hasChildNodes() 复制代码 代码如下: var selectElements=document.getElementsByTagName("select"); alert(selectElements[0].hasChildNodes()) var inputElements=document.getElementsByTagName("input"); var selectElements=document.getElementsByTagName("select"); alert(selectElements[0].hasChildNodes())var inputElements=document.getElementsByTagName("input");for(var i=0;i<inputElements.length;i++){ alert(inputElements[i].hasChildNodes());} 十、根节点 有两种特殊的文档属性可用来访问根节点: 十一、DOM节点信息 每个节点都拥有包含着关于节点某些信息的属性 。这些属性是: nodeName 属性含有某个节点的名称 。
nodeValue:返回给定节点的当前值(字符串) nodeType:返回一个整数,这个数值代表着给定节点的类型 。 |