访问HTML元素
2016-04-07 19:42
387 查看
1.根据ID访问元素
下面我们来看一段代码:
<!DOCTYPE html> <html> <head> <meta name="author" content="Yeeku.H.Lee(Owen.org)" /> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <title> 根据ID访问HTML元素 </title> <script type="text/javascript"> var accessById = function() { alert(document.getElementById("a").innerHTML + "\n" + document.getElementById("b").value); } </script> </head> <body> <div id="a">Java</div> <textarea id="b" rows="3" cols='25'>Spring源码 </textarea> <input type="button" value="访问2个元素" onclick="accessById();"/> </body> </html>
运行结果:
2.利用节点关系访问HTML元素
一旦获取了某个HTML元素,由于该元素实际上与DOM树的某个节点对应,因此我们完全可以利用节点之间的父子、兄弟关系来访问HTML元素。下面我们来看一段代码:
<!DOCTYPE html> <html> <head> <meta name="author" content="Yeeku.H.Lee(owen.org)" /> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <title> 根据节点关系访问HTML元素 </title> <style type="text/css"> /* 定义改变背景色的CSS,表示被选中的项 */ .selected { background-color:#66f } </style> </head> <body> <ol id="books"> <li id="java">Java</li> <li id="ssh">Java EE</li> <li id="ajax" class="selected">Ajax</li> <li id="xml">XML</li> <li id="ejb">Java EE企业应用</li> <li id="workflow">Android</li> </ol> <input type="button" value="父节点" onclick="change(curTarget.parentNode);"/> <input type="button" value="第一个" onclick="change(curTarget.parentNode.firstChild.nextSibling);"/> <input type="button" value="上一个" onclick="change(curTarget.previousSibling.previousSibling);"/> <input type="button" value="下一个" onclick="change(curTarget.nextSibling.nextSibling);"/> <input type="button" value="最后一个" onclick="change(curTarget.parentNode.lastChild.previousSibling);"/> <script type="text/javascript"> var curTarget = document.getElementById("ajax"); var change = function(target) { alert(target.innerHTML); } </script> </body> </html>
需要指出的是,<ol…/>节点一共包含了13个子节点,而不是6个子节点!因为在每两个<li…/>节点之间都有一个“空白”,每个“空白”也将被当作<ol../>元素子节点。
运行结果:
3.访问表单控件
表单DOM中由HTMLFormElement对象表示,该对象除了可调用前面介绍的基本属性和方法之外,还拥有如下几个属性:下面我们来看一段代码:
<!DOCTYPE html> <html> <head> <meta name="author" content="Yeeku.H.Lee(Owen.org)" /> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <title> 访问表单控件 </title> </head> <body> <form id="d" action="" method="get"> <input name="user" type="text" /><br /> <input name="pass" type="text" /><br /> <select name="color"> <option value="red">红色</option> <option value="blue">蓝色</option> </select><br /> <input type="button" value="第一个" onclick= "alert(document.getElementById('d').elements[0].value);" /> <input type="button" value="第二个" onclick= "alert(document.getElementById('d').elements['pass'].value);" /> <input type="button" value="第三个" onclick= "alert(document.getElementById('d').color.value);" /> </form> </body> </html>
运行结果:
4.访问列表框、下拉菜单的选项
HTMLSeletElement代表一个列表框或下拉菜单,HTMLSelectElement对象除了可使用普通HTML元素的各种属性和方法外,还支持如下额外的属性。HTMLSelectElement的options属性可直接访问列表框、下拉菜单的所有列表项,传指定索引即可访问指定列表项,语法如下:
列表框、下拉框菜单的选项由HTMLOptionElement对象表示,除了前面介绍的普通属性之外,该对象还提供了如下几个常用属性。
如下代码:
<!DOCTYPE html> <html> <head> <meta name="author" content="Yeeku.H.Lee(owen.org)" /> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <title> 访问列表项 </title> </head> <body> <select id="mySelect" name="mySelect" size="6"> <option value="java">Java</option> <option value="ssh">Java EE</option> <option value="ajax" selected>Ajax</option> <option value="xml">XML</option> <option value="ejb">Java EE</option> <option value="workflow">Android</option> </select><br /> <input type="button" value="第一个" onclick= "change(curTarget.options[0]);" /> <input type="button" value="上一个" onclick= "change(curTarget.options[curTarget.selectedIndex - 1]);" /> <input type="button" value="下一个" onclick= "change(curTarget.options[curTarget.selectedIndex + 1]);" /> <input type="button" value="最后一个" onclick= "change(curTarget.options[curTarget.length - 1]);" /> <script type="text/javascript"> var curTarget = document.getElementById("mySelect"); var change = function(target) { alert(target.text); } </script> </body> </html>
运行结果:
5.访问表格子元素
HTMLTableElement代表表格,HTMLTableElement对象除了可使用普通HTML元素的各种属性和方法,还支持如下的额外的属性。在获得一个表格之后,完全可以通过上面提供的一系列属性来访问表格”内容”。如下:
HTMLTableRowElement代表表格行,HTMLTableRowElement对象除了可使用普通HTML元素的各种属性和方法外,还支持如下的额外属性。
HTMLTableCellElement代表单元格,HTMLTableCellElement对象除了可使用普通HTML元素的各种属性和方法外,还支持如下的属性。
下面给出示例的代码:
<!DOCTYPE html> <html> <head> <meta name="author" content="Yeeku.H.Lee(owen.org)" /> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <title> 访问表格元素 </title> </head> <body> <table id="d" border="1"> <caption>疯Java体系</caption> <tr> <td>Java</td> <td>Java EE</td> </tr> <tr> <td>Ajax</td> <td>Java EE</td> </tr> <tr> <td>XML</td> <td>Android</td> </tr> </table> <input type="button" value="表格标题" onclick= "alert(document.getElementById('d').caption.innerHTML);" /> <input type="button" value="第一行、第一格" onclick= "alert(document.getElementById('d').rows[0].cells[0].innerHTML);" /> <input type="button" value="第二行、第二格" onclick= "alert(document.getElementById('d').rows[1].cells[1].innerHTML);" /> <input type="button" value="第三行、第二格" onclick= "alert(document.getElementById('d').rows[2].cells[1].innerHTML);" /> </body> </html>
运行结果:
相关文章推荐
- HTML基础(二)
- 使用正则表达式匹配嵌套Html标签
- html<ul><ol><li><dd><dt><dl>属性总结
- HTML 模板继承
- 去掉<textarea>中的html标签
- HTML 5 关于文件读取学习笔记
- HTML中Id和Name的区别
- Ttidy Html转Xml
- HTML基础(一)
- Python3:抓取网页HTML代码
- html转pdf
- html canvas 自适应
- HTML <input> 标签的 disabled 属性
- 关于HTML控件作为服务器控件后ID会变化解决办法
- [转]在html中控制自动换行
- 简单的html标签转义
- markdown以html显示
- HTML 图片上传以及图片加载失败时使用默认图片
- C#解析HTML
- 如果父元素都没有设有移动定位属性,则元素会参照 <html>来定位,而不是<body>,IE、FF都如此