DOM编程
来源:互联网 发布:fps帧数显示软件 编辑:程序博客网 时间:2024/05/29 10:31
一、获取dom的三种方式
index.html文件
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body> <input type="text" id="mytext" > <form action="" id="myinput"> <input type="text" > <input type="text" name="mytext" > <input type="text" name="mytext" > <input type="text" > <textarea rows="2" cols="3"></textarea> </form> <div name="mytext" style="width: 20px; height: 30px;background: red;"></div><script type="text/javascript" src="index.js"></script></body></html>
index.js文件(获取dom的三种方式)
//1.根据id拿到相应的元素:通过document.getElementById() 特点:拿到的是唯一的一个元素//var elementById=document.getElementById("mytext");console.debug(elementById);/** * 2.根据标签拿到相应的元素 * 特点:标签不是是唯一的,可以获取到多个元素 * Element.getElementsByTagName(标签名):拿到这个元素中相应的标签 * Element.getElementsByTagName(*): 拿到这个元素中所有标签 * */var inputs = document.getElementsByTagName("input");console.debug(inputs);/** * 3. 根据名称拿到相应的元素 * 特点:可以获取到多个元素 只要名称相同可以拿到不同标签元素 * */var mytext = document.getElementsByName("mytext");console.debug(mytext);/** * 获取form标签中的四个input元素 * */var myinput = document.getElementById("myinput");console.debug(myinput);//根据标签拿到相应的元素//var inputs = myinput.getElementsByTagName("input");var inputs = myinput.getElementsByTagName("*");console.debug(inputs);
拿到根节点
index.html文件
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title><style type="text/css"> body{ margin: 0px; padding: 0px; }</style></head><body><script type="text/javascript" src="index.js"></script></body></html>
index.js文件
/** * 拿到document文档根节点 * document.documentElement -> html标签 可返回存在于 XML 以及 HTML 文档中的文档根节点 document.body ->body标签 我们要注意的区别: document.documentElement.clientHeight:它拿到的是整个窗口高度 document.body.clientHeight:拿到内容的高度 * *///拿到body标签var body = document.body;console.debug(body);console.debug(body.clientWidth);console.debug(body.clientHeight);//高度是根据页面内容的高度决定//拿到HTML标签var htmlEle = document.documentElement;console.debug(htmlEle);console.debug(htmlEle.clientWidth);console.debug(htmlEle.clientHeight);//页面上可以看到的高度
Node接口的属性与方法
index.html文件:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body> <input type="text" id="mytext"> <ul id="westRun"> <li>唐唐</li> <li>沙沙</li><li id="kong" value="zhi">空空</li> <li>白白</li> </ul><script type="text/javascript" src="index.js"></script></body></html>
index.js文件
//拿到空空这个节点li,然后再通过这个节点拿到它的父节点ul(westRun)var kong = document.getElementById("kong");var parentNode = kong.parentNode;console.debug(parentNode);/** * 拿到父节点,再去拿它的第一个节点 * 注意:空格换行也算一个元素 **/var westRun = document.getElementById("westRun");var firstChild = westRun.firstChild;console.debug(firstChild);//拿到的是换行//拿到列表列表中的最后一个节点 var lastChild = westRun.lastChild;console.debug(lastChild);/** * 拿到父节点,再去拿它所有子节点的列表 * 注意:空格换行也算一个元素 **/var westRun = document.getElementById("westRun");var childNodes = westRun.childNodes;console.debug(childNodes);/** * previousSibling:上一个兄弟节点 */var kong = document.getElementById("kong");var previousSibling = kong.previousSibling;console.debug(previousSibling);/** * nextSibling 下一个兄弟节点 */var kong = document.getElementById("kong");var nextSibling = kong.nextSibling;console.debug(nextSibling);
节点信息
index.html文件
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body> <input type="text" id="mytext"> <ul id="westRun"> <li>唐唐</li> <li>沙沙</li><li id="kong" value="zhi">空空</li> <li>白白</li> </ul><script type="text/javascript" src="index.js"></script></body></html>
index.js文件
/** * nodeName 节点名称 * nodeValue 节点值 * nodeType 节点类型 * 1——代表Element(元素)li 2——代表Attribute(属性的值)id 3——代表Text(文本) * *//*var kong = document.getElementById("kong");console.debug("Element:nodeName:",kong.nodeName); //LI :标签名console.debug("Element:nodeType:",kong.nodeType); //1 : 代表是一个Elementconsole.debug("Element:nodeValue:",kong.nodeValue);//null :Element是没有值的var attr = kong.getAttributeNode("id");console.debug("Attr:nodeName:",attr.nodeName);//id :属性名称console.debug("Attr:nodeType:",attr.nodeType);//2 代表是一个Attrconsole.debug("Attr:nodeValue:",attr.nodeValue);//kong:属性的值var westRun = document.getElementById("westRun");var text = westRun.firstChild;console.debug("Text:nodeName:",text.nodeName); // #textconsole.debug("Text:nodeType:",text.nodeType); // 3console.debug("Text:nodeValue:",text.nodeValue);//文本的内容*/var westRun = document.getElementById("westRun");var childNodes = westRun.childNodes;//for(var key in childNodes){// console.debug(childNodes[key]);//空行也拿到了,只想那四个li//}for(var i=0;i<childNodes.length;i++){//只拿标签 var child = childNodes[i]; if(child.nodeType == 1){ console.debug(childNodes[i]); }}
操作元素的方法
index.html文件
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body> <input type="text" id="newPerson"><br> <input type="button" value="点点点" onclick="changeEle()"> <ul id="westRun"> <li>唐唐</li> <li>沙沙</li><li id="kong" value="zhi">六二</li> <li>白白</li> <li id="mei">美女</li> </ul> <li id="bai">白龙马</li><script type="text/javascript" src="index.js"></script></body></html>
index.js文件
//直接从内存中创建追加到页面上 添加元素 appendChild(node)/*function changeEle(){ var westRun = document.getElementById("westRun"); //创建一个li元素 var li = document.createElement("li"); //在标签中添加值 li.innerHTML = "白龙马"; //把创建的元素添加到westRun中 westRun.appendChild(li);}*//*//拿到页面上的某一个标签,放到另外一个位置 添加元素 appendChild(node)function changeEle(){ var westRun = document.getElementById("westRun"); //从页面中拿到相应的li var li = document.getElementById("bai") //把创建的元素添加到westRun中 westRun.appendChild(li);}*//*//修改元素replaceChild(newChild, oldChild)(需要他们的父节点才可以修改)function changeEle(){ var westRun = document.getElementById("westRun"); //拿到需要修改的元素——原来的 var kong = document.getElementById("kong"); //创建一个新的元素 var newKong = document.createElement("li"); newKong.innerHTML = "空空"; //把原来的替换成新建的 westRun.replaceChild(newKong, kong);}*//*//在一个元素前面插入一个新的元素 insertBefore(newChild, refChild)function changeEle(){ var westRun = document.getElementById("westRun"); //拿到旧的元素,用来确定在此元素前面 添加新元素 var kong = document.getElementById("kong"); //创建一个新的元素(标签) var newEle = document.createElement("li"); //为新元素添加值 newEle.innerHTML = "美女"; //把新的元素添加到旧元素的前面 westRun.insertBefore(newEle, kong);}*//*//删除元素 function changeEle(){ var westRun = document.getElementById("westRun");//拿到父节点 //拿到想要删除的元素 var mei = document.getElementById("mei"); //通过父节点删除元素 westRun.removeChild(mei);}*///需求:页面中有一个文本框用户输入值后点击按钮添加到列表中function changeEle(){ //1.拿到父节点 var westRun = document.getElementById("westRun"); //2.拿到文本框中的值 var personName = document.getElementById("newPerson").value; //3.创建一个元素,把文本框中获取的值放到这个元素里面 var newPerson = document.createElement("li"); newPerson.innerHTML = personName; //4.把这个元素放到westRun元素里面 westRun.appendChild(newPerson);}
阅读全文
1 0
- DOM编程
- DOM编程
- DOM编程
- Dom编程
- DOM编程
- DOM编程
- Dom编程
- DOM编程
- Dom编程
- dom编程
- DOM编程
- DOM编程
- DOM编程
- DOM编程
- DOM编程
- DOM编程
- 【JavaScript DOM编程艺术】- DOM
- 《DOM编程艺术》一、DOM
- 使用Olami sdk实现一个语音查询股票的iOS程序
- Java发送邮件
- union和union All的区别
- 112. Path Sum
- ACM_线段树模板(单点更新)
- DOM编程
- Caffe Loss层
- MAC上安装JAVA JDK1.6
- android正则表达式获取字符串ip及端口复习
- 移动端直播的几种方案
- Android开发中字符串处理问题
- 亚马逊的新电力线不顾反对地铺设于铁路上方
- JDBC相关(一):事务相关概念和处理
- 记录一下 linux安装redis