首页 > 代码库 > DOM元素对象的属性和方法(1)
DOM元素对象的属性和方法(1)
一、accessKey()
作用:获取元素焦点快捷键;设置快捷键后,使用Alt+快捷键,让元素快速获得焦点,
<!DOCTYPE html> <html> <head> <title>element.accesskey</title> <meta charset="utf-8"> </head> <body> <input type="text" id="text"> <script type="text/javascript"> var text=document.getElementById("text"); text.accessKey="z"; console.info("text元素的快捷键:"+text.accessKey); </script> </body> </html>
结果:
二、addEventListener()
作用:为元素添加事件句柄
<!DOCTYPE html> <html> <head> <title>element.addEventListener</title> <meta charset="utf-8"> </head> <body> <input type="text" id="text" value="默认文本"> <button id="show">未点击</button> <script type="text/javascript"> var text=document.getElementById("text"); var button=document.getElementById("show"); button.addEventListener("click",function(){text.value="按钮点击后文本";this.innerHTML="点击过";},false); </script> </body> </html>
结果:
三、appendChild()
作用:在元素尾部追加新元素
<!DOCTYPE html> <html> <head> <title>element.appendChild()</title> <meta charset="utf-8"> </head> <body> <ul id="ul"> <li>第一个元素</li> <li>第二个元素</li> </ul> <button id="button">添加新的li元素</button> <script type="text/javascript"> var ul=document.getElementById("ul"); var button=document.getElementById("button"); var newLi; button.addEventListener("click", function(){newLi=document.createElement("li"); newLi.innerHTML="新元素"; ul.appendChild(newLi); }); </script> </body> </html>
结果:
四、attributes
作用:返回元素属性数组
<!DOCTYPE html> <html> <head> <title>DOM元素对象——>attribute:返回元素属性数组</title> <meta charset="utf-8"> </head> <body> <a title="标题" href="#" rel="提示" id="ID">链接</a> <script type="text/javascript"> var id=document.getElementById("ID"); var idAtts=id.attributes; console.log("Length="+idAtts.length); for(var i=0;i<idAtts.length;i++){ console.log(idAtts[i]); } </script> </body> </html>
结果:
五、childNodes
作用:返回元素下子节点的数组,特别注意,属性不算节点
<!DOCTYPE html> <html> <head> <title>childNodes</title> <meta charset="utf-8"> </head> <body> <div id="box"><div class="one" id="two"></div>文本节点<!--注释节点--></div> <script type="text/javascript"> var box = document.getElementById("box"); var child = box.childNodes; var ele=0,comment=0,text=0,att=0; console.log(child.length); for(var i=0;i<child.length;i++){ if(child[i].nodeType==1){ ele++; } if(child[i].nodeType==2){ att++; } if(child[i].nodeType==3){ text++; } if(child[i].nodeType==8){ comment++; } console.log(child[i].nodeName); } console.log("元素节点:"+ele+",属性节点:"+att+",文本节点:"+text+",注释节点:"+comment); </script> </body> </html>
结果:
六、className
作用:设置或返回元素class值
七、clientHeight
作用:返回在页面上返回内容的可视高度(不包括边框,边距或滚动条)
八、clientWidth
作用:返回在页面上返回内容的可视宽度(不包括边框,边距或滚动条)
九、cloneNode
作用:克隆节点并返回副本
<!DOCTYPE html> <html> <head> <title>cloneNode</title> <meta charset="utf-8"> <style type="text/css"> .one{ border:1px solid red; } .two{ color:blue; } </style> </head> <body> <ul id="one"> <li class="one">文本节点0</li> <li class="two">文本节点1</li> </ul> <ul id="two"> </ul> <script> var lis=document.getElementById("one").getElementsByTagName("li"); var two=document.getElementById("two"); var clone=lis[0].cloneNode(false); two.appendChild(clone); var clone1=lis[1].cloneNode(true); two.appendChild(clone1); </script> </body> </html>
结果:
十、compareDocumentPosition
作用:判断元素同参数对象的位置关系,返回关系值(num)
<!DOCTYPE html> <html> <head> <title>cloneNode</title> <meta charset="utf-8"> </head> <body> <ul id="one"> <li class="one" rel="提示">文本节点0</li> <li class="two">文本节点1</li> </ul> <ul id="two"> </ul> <script> var newLi=document.createElement("li"); var one=document.getElementById("one"); var lis=one.getElementsByTagName("li"); var att=lis[0].attributes; var two=document.getElementById("two"); console.log(lis[0].compareDocumentPosition(lis[1])+",元素在参数元素之前"); console.log(lis[1].compareDocumentPosition(lis[0])+",元素在参数对象之后"); console.log(lis[0].compareDocumentPosition(one)+",元素在参数元素之后,且元素在参数元素的内部"); console.log(one.compareDocumentPosition(lis[0])+",元素在参数元素之前,且参数元素在元素内部"); console.log(one.compareDocumentPosition(newLi)+",没有关系,且不在同一个文档"); console.log(att[0].compareDocumentPosition(att[1])+",没有关系,但在同一个文档"); </script> </body> </html>
结果:
DOM元素对象的属性和方法(1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。