JavaScript—————DOM
2015-10-27 19:02
603 查看
可以使用JavaScript提供的DOM对象的方法和属性对
标记文档(html,xml)进行操作
首先将文档里的所有内容封装成对象,再使用DOM解
析html。
一、DOM中的对象
document对象:整个html文档
element对象:元素/标签对象
属性对象
文本对象
Node对象:以上对象的父对象
1.document对象
常用方法:
——write():向页面输出变量值
向页面输出html代码
——getElementById():根据标签的id获取到标签对象
——getElementsByName():根据标签的name值获取到多个标签对象
——getElementsByTagName():根据标签的名称获取到多个标签对象
2.Element对象
常用方法:
——getAttribute("属性名"):获取属性的值
——setAttribute("属性名","属性值"):设置属性值
——removeAttribute("属性名"):删除某属性
——getElementsByTagName():根据子标签的名称获取到多个子标签对象
父节点:parentNode
子节点:childNodes,firstNode,lastNode
同辈节点:nextSibling,previousSibling
4.操作dom树的方法
插入节点:
(1)appendChild()
(2)insertBefore(newNode,oldNode)
(3)insertAfter(newNode,oldNode)
删除:
removeChild()
替换
replaceChild(newNode,oldNode)
6.innerHtml属性
作用一:获取文本内容
作用二:设置内容,设置html代码
标记文档(html,xml)进行操作
首先将文档里的所有内容封装成对象,再使用DOM解
析html。
一、DOM中的对象
document对象:整个html文档
element对象:元素/标签对象
属性对象
文本对象
Node对象:以上对象的父对象
1.document对象
常用方法:
——write():向页面输出变量值
向页面输出html代码
——getElementById():根据标签的id获取到标签对象
——getElementsByName():根据标签的name值获取到多个标签对象
——getElementsByTagName():根据标签的名称获取到多个标签对象
2.Element对象
常用方法:
——getAttribute("属性名"):获取属性的值
——setAttribute("属性名","属性值"):设置属性值
——removeAttribute("属性名"):删除某属性
——getElementsByTagName():根据子标签的名称获取到多个子标签对象
<!--实现多选,全选,反选--> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input type="checkbox" id="allbox" onclick="selAll();"/>全选 </br> <input type="checkbox" name="hobty"/>唱歌</br> <input type="checkbox" name="hobty"/>跳舞</br> <input type="checkbox" name="hobty"/>羽毛球</br> <input type="checkbox" name="hobty"/>网球</br> <input type="checkbox" name="hobty"/>乒乓球</br> <input type="button" onclick="selAll();" value="全选"/></br> <script> function selAll(){ var loves=document.getElementsByName("hobty"); for(var i=0;i<loves.length;i++){ loves[i].checked=true; } } </script> </body> </html>3.Node对象
父节点:parentNode
子节点:childNodes,firstNode,lastNode
同辈节点:nextSibling,previousSibling
4.操作dom树的方法
插入节点:
(1)appendChild()
(2)insertBefore(newNode,oldNode)
(3)insertAfter(newNode,oldNode)
<html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <ul id="u1"> <li>111</li> <li>222</li> </ul> <br> <input type="button" value="Add" onclick="add1();"/> <script type="text/javascript"> function add1(){ var u1=document.getElementById("u1"); var l1=document.createElement("li"); var txt1=document.createTextNode("www"); l1.appendChild(txt1); u1.appendChild(l1); } </script> </body> </html>
删除:
removeChild()
替换
replaceChild(newNode,oldNode)
<html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <select id="select1" multiple="multiple" style="width:100px;height:200px;"> <option id="opt1" onclick="sel(id)">IT</option> <option id="opt2" onclick="sel(id)">地理</option> <option id="opt3" onclick="sel(id)">历史</option> <option id="opt4" onclick="sel(id)">电影</option> <option id="opt5" onclick="sel(id)">诗歌</option> <option id="opt6" onclick="sel(id)">小说</option> <option id="opt7" onclick="sel(id)">英语</option> </select> <select id="select2" multiple="multiple" style="width:100px;height:200px;"> </select> <script type="text/javascript"> function sel(opname){ var sel1=document.getElementById("select1"); var op=document.getElementById(opname); var sel2=document.getElementById("select2"); sel1.removeChild(op); sel2.appendChild(op); } </script> </body> </html>
6.innerHtml属性
作用一:获取文本内容
作用二:设置内容,设置html代码
<html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div id="times"> </div> <script type="text/javascript"> function time(){ var date=new Date(); var div1=document.getElementById("times"); div1.innerHTML=date.toLocaleString(); } setInterval("time();",1000); </script> </body> </html>联动框案例
<html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <select id="provence" onchange="op(this.value);"> <option>--请选择--</option> <option name="option" id="opt1" value="四川">四川</option> <option name="option" id="opt2" value="湖南">湖南</option> </select> <select id="city"> </select> </body> <script type="text/javascript"> var arr=new Array(2); arr[0]=["四川","成都","绵阳","攀枝花","南充"]; arr[1]=["湖南","长沙","株洲","湘潭","娄底"]; function op(val){ //先删除 var city=document.getElementById("city"); var cityopts=city.getElementsByTagName("option"); var t=cityopts.length; //alert(cityopts.length); for(var j=t-1;j>=0;j--){ city.removeChild(cityopts[j]); } //添加 for(var i=0;i<arr.length;i++){ var arr1=arr[i]; if(val==arr1[0]){ for(var j=1;j<arr1.length;j++){ var opt=document.createElement("option"); var optText=document.createTextNode(arr1[j]); opt.appendChild(optText); city.appendChild(opt); } } } } </script> </html>
相关文章推荐
- JS 事件处理
- js操作XML/HTML常用的对象属性
- 中文转json后保持中文的代码
- 107个常用javascript,实用
- 【 D3.js 入门系列 — 5 】 坐标轴
- js解析XML
- 关于Javascript中执行上下文的理解
- flex 加载arcgis 的地图json
- 关于跨域返回jsonp的示例
- EXT.js对中文字符串的排序
- javascript动态添加本地文件列表信息
- js点击button按钮跳转到另一个新页面
- js中的写网页跳转
- jsp中确认对话框的使用
- ie8响应式兼容方案,respond.js的用法及使用时无效的解决办法
- JS中常用的字符串函数
- js操作数组
- json反序列话 时间格式
- js中的alert
- JavaScript实现私有属性