JS中使用DOM来控制HTML元素
1.getelementsbyname():获取name.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
例:
<p name="pn">hello</p> <p name="pn">hello</p> <p name="pn">hello</p> <script> function getname(){ var count=document.getelementsbyname("pn"); alert(count.length); var p=count[2]; p.innerhtml="world"; } </script>
结果:界面打印出三个hello,并且伴有一个提示框“3”,当点击确定后,界面显示的内容变为hello hello world
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~··
2.getelementsbytagname():获取元素。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
例
<p>hello</p> <p>hello</p> <p>hello</p> <script> function getname(){ var count=document.getelementsbytagname("p"); alert(count.length); var p=count[2]; p.innerhtml="world"; } </script>
结果:界面打印出三个hello,并且伴有一个提示框“3”,当点击确定后,界面显示的内容变为hello hello world
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.getattribute():获取元素属性。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
例
<a id="aid" title="得到a的标签属性"></a> <script> function getattr1(){ var anode=document.getelementbyid("aid"); var attr=anode.getattribute("id"); alert("a的id是:"+attr); } function getattr2(){ var anode=document.getelementbyid("aid"); var attr=anode.getattribute("title"); alert("a的title内容是:"+attr); } getattr1(); getattr2(); </script>
结果:弹出提示框“a的id是:aid”.点击确定后,弹出提示框“a的title内容是:得到a的标签属性”。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4.setattribute()设置元素属性。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
例
<a id="aid2">aid2</a> <script> function setattr(){ var anode=document.getelementbyid("aid2"); anode.setattribute("title","动态设置a的title属性"); var attr=anode.getattribute("title"); alert("动态设置的title值为:"+attr); } setattr(); </script>
结果:弹出提示框“动态设置的title值为:动态设置a的title属性”。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.childnodes():访问子节点。
~~~~~~~~~~~~~~~~~~~~~~~~~~··
例
<ul><li>1</li><li>2</li><li>3</li></ul> <script> function getchildnode(){ var childnode=document.getelementsbytagname("ul")[0].childnodes; alert(childnode.length); alert(childnode[0].nodetype); } getchildnode(); </script>
结果:界面打印出.1 .2 .3弹出对话框“3”,按确定后弹出“1”。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6.parentnode():访问父节点。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
例
<div> <p id="pid"></p> </div> <script> function getparentnode(){ var div=document.getelementbyid("pid"); alert(div.parentnode.nodename); } getparentnode(); </script>
结果:弹出提示框:div.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7.createelement():创建元素节点。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
例:
<script> function createnode(){ var body=document.body; var input=document.createelement("input"); input.type="button"; input.value="按钮"; body.appendchild(input);//插入节点 } createnode(); </script>
结果:出现一个按钮。
~~~~~~~~~~~~~~~~~~~~~~~~~~~
8.createtextnode():创建文本节点。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
例:
<script> function createnode(){ var element = document.createelement("div"); element.classname = "message"; var textnode = document.createtextnode("hello world!"); element.appendchild(textnode); document.body.appendchild(element); } createnode(); </script>
代码分析:这个例子创建了一个新<div>元素并为它指定了值为“message”的class特性。然后,又创建了一个文本节点,并将其添加到前面创建的元素中。最后一步,就是将这个元素添加到了文档中的<body>元素中,这样可以在浏览器中看到新创建的元素和文本节点了。
结果:页面显示hello world。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9.insertbefore():插入节点。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
例
<div id="div"> <p id="pid">p元素</p> </div> <script> function addnode(){ var div=document.getelementbyid("div"); var node=document.getelementbyid("pid"); var newnode=document.createelement("p"); newnode.innerhtml="动态插入一个p元素"; div.insertbefore(newnode,node); } addnode(); </script>
结果:界面打印出:动态插入一个p元素
p元素
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10.removechild():删除节点。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
例
<div id="div"> <p id="pid">p元素</p> </div> <script> function removenode(){ var div=document.getelementbyid("div"); var p=div.removechild(div.childnodes[1]); } removenode(); </script>
结果:界面什么也没显示。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11.offsetheight:网页尺寸
12.scrollheight:网页尺寸
~~~~~~~~~~~~~~~~~~~~~~~~~~~·
例:
<script> function getsize(){ var width=document.documentelement.offsetwidth||document.body.offsetwidth;//解决兼容问题 var height=document.documentelement.offsetheight||document.body.offsetheight; alert(width+","+height); } getsize(); </script>
显示结果:
这篇文章主要介绍了js dom 来控制html元素,文章内容主要包括关于dom,html等,文章来自网络,请参考。