【js】day06_DOM
2015-10-08 23:17
591 查看
【js】day06_DOM
-DOM节点树
如图:
nodeName:节点名称
元素节点和属性节点:标签或属性名称
文本节点:永远是#text
文档节点:永远是#document
nodeType:节点类型
元素节点--1
属性节点--2
文本节点--3
注释节点--8
文档节点--9
-元素节点内容
innerText
-设置或获取位于对象起始和结束标签内的文本
innerHTML
-设置或获取位于对象起始和结束标签内的 HTML
-节点属性
getAttribute():根据属性名获取属性值
setAttribute()、removeAttribute()
-元素节点样式
style属性
node.style.color
node.style.fontSize
className属性
eg:day06.demo3.html
document.getElementById()
-根据层次查询节点
parentNode属性:获取父节点
childNodes属性:获取所有孩子节点(包括空格等一半不用)
-根据标签名查询节点
getElementsByTagName()
-根据name查询节点
document.getElementsByName()
document.createElement(elementName);
-添加新节点
parentNode.appendChild(newNode):在末尾追加
parentNode.insertBefore(newNode,relNode):在relNode节点前增加一个
eg:
node.parentNode.removeChild(node);
eg:day06.demo5.html/day06.gwc.html
1)DOM概述
-Document Object Model-DOM节点树
如图:
2)读取、修改节点
-节点信息nodeName:节点名称
元素节点和属性节点:标签或属性名称
文本节点:永远是#text
文档节点:永远是#document
nodeType:节点类型
元素节点--1
属性节点--2
文本节点--3
注释节点--8
文档节点--9
-元素节点内容
innerText
-设置或获取位于对象起始和结束标签内的文本
innerHTML
-设置或获取位于对象起始和结束标签内的 HTML
-节点属性
getAttribute():根据属性名获取属性值
setAttribute()、removeAttribute()
-元素节点样式
style属性
node.style.color
node.style.fontSize
className属性
eg:day06.demo3.html
<!doctype html> <html> <head> <title>图片轮播</title> <meta charset="UTF-8"/> <style type="text/css"> ul{ list-style-type:none; border:2px solid #ccc; width:480px; height:360px; padding:0; margin:30px auto; } li{ width:480px; height:360px; padding:0; margin:0; } .show{ display:block; } .hide{ display:none; } </style> <script type="text/javascript"> var index = 0; //循环次数,默认为0 function start(){ //每隔一秒执行一次function setInterval(function(){ //将所有的li隐藏 var ul = document.getElementById("photos"); var lis = ul.getElementsByTagName("li"); for(var i=0;i<lis.length;i++){ lis[i].className="hide"; } //将下一个li显示 index = (index+1)%lis.length; lis[index].className="show"; },1000); } </script> </head> <!-- onload是页面加载事件,表示在页面加载后调用start()函数 --> <body onload="start();"> <ul id="photos"> <li class="show"><img src="../images/f1.jpg"/></li> <li class="hide"><img src="../images/f2.jpg"/></li> <li class="hide"><img src="../images/f3.jpg"/></li> <li class="hide"><img src="../images/f4.jpg"/></li> </ul> </body> </html>
3)查询
-根据id查询节点document.getElementById()
-根据层次查询节点
parentNode属性:获取父节点
childNodes属性:获取所有孩子节点(包括空格等一半不用)
-根据标签名查询节点
getElementsByTagName()
-根据name查询节点
document.getElementsByName()
4)增加
-创建新节点document.createElement(elementName);
-添加新节点
parentNode.appendChild(newNode):在末尾追加
parentNode.insertBefore(newNode,relNode):在relNode节点前增加一个
5)删除
node.removeChild(childNode)eg:
node.parentNode.removeChild(node);
eg:day06.demo5.html/day06.gwc.html
<!doctype html> <html> <head> <title>联动菜单</title> <meta charset="UTF-8"/> <script type="text/javascript"> //事先预置好每个省所对应的市 //这是一个数组,数组下标对应着省 //即0-无,1-山东,2-浙江,3-江苏 var cities = [ ["-请选择-"], ["青岛","济南","烟台"], ["杭州","宁波","温州"], ["南京","无锡","苏州"] ]; function change(){ //获取当前选中的省 var province = document.getElementById("province"); var pindex = province.value; //alert(pindex); //删除所有的市 var city = document.getElementById("city"); //var options = city.getElementsByTagName("option"); //for(var i=0;i<options.length;i++){ // options[i].parentNode.removeChild(options[i]); //} city.innerHTML = ""; //重新添加这个省下面的市 var pcities = cities[pindex]; for(var i=0;i<pcities.length;i++){ var option = document.createElement("option"); option.setAttribute("value",i); option.innerText = pcities[i]; city.appendChild(option); } } </script> </head> <body> <!-- option的内容是下拉选选项显示的值, 而option的value是select节点的返回值,返回的是选中的option的value值. onchange是值改变事件,当值发生改变时触发 --> 省: <select id="province" onchange="change();"> <option value="0">-请选择-</option> <option value="1">山东省</option> <option value="2">浙江省</option> <option value="3">江苏省</option> </select> 市: <select id="city"> <option>-请选择-</option> </select> </body> </html>
相关文章推荐
- 【js】day05_BOM
- JavaScript之一: 闭包、执行环境、作用域链
- 从一个简单例子来理解js引用类型指针的工作方式
- JNI中的string返回jstring
- js导航栏单击事件背景颜色变换
- 二、JavaScript语言--JS基础--JavaScript入门篇
- 多角度了解Javascript闭包
- javascript 笔试 做一个图片轮播的脚本
- 无需Flash无需依赖任何JS库实现文本复制与剪切
- 对于新增节点的JS操作问题
- JavaScript+Canvas 实现网页截屏
- JavaScript实现点击按钮弹出输入框,点确定后添加li组件到ul组件里
- jsp中静态include和动态include的区别
- js写法【3】
- 选择下拉框某一项 链接到页面
- 简单的横向下拉菜单js
- OBIEE中JS的使用---dashboard中prompt的展示和隐藏
- 核心Javascript学习
- OFBiz界面通过Ajax获取json数据
- JavaScript目录