DOM(文档对象模型)的常用操作 | 您所在的位置:网站首页 › dom是s的哪一种 › DOM(文档对象模型)的常用操作 |
DOM的常用操作
DOM的全称是Document Object Model,即文档对象模型。简单来说 DOM就是整个HTML的内容。 DOM操作就是用js控制HTML中的标签。 目录 DOM的常用操作一、查找DOM二、新建DOM、添加DOM三、删除DOM四、修改DOM五、克隆DOM 一、查找DOM document.getElementById('id名');//返回指定的id对象 document.getElementsByClassName('class名')[下标];//返回指定下标的class对象 document.getElementsByTagName('标签')[下标];//返回指定下标的标签对象 document.getElementsByName('Name属性值')[下标];//返回指定下标的Name对象 document.querySelector('选择器');//返回指定的第一个选择器对象 document.querySeletorAll('选择器')[下标];//返回指定下标的选择器对象 document.documentElement;//返回整个HTML标签,包含其他元素 document.body;//返回页面中的body标签 document.all[下标];//返回指定下标的标签对象 element.getAttributeNode("属性名");//返回指定节点中的属性节点1.document.getElementById(‘id名’);//返回指定的id对象 HelloWorld let titled=document.getElementById('headline'); console.log(titled); //输出 HelloWorld2.document.getElementsByClassName(‘class名’)[下标]; HelloWorld Hi let titled=document.getElementsByClassName('headline'); console.log(titled); //输出 HTMLCollection(2) [h1.headline(第一个h1标签), h1.headline(第二个h1标签)] //document.getElementsByClassName('headline')[0];指的是第一个h1标签 //document.getElementsByClassName('headline')[1];指的是第二个h1标签document.getElementsByTagName(‘标签’)[下标]; HelloWorld Hi let titled=document.getElementsByTagName('h1'); console.log(titled); //输出 HTMLCollection(2) [h1(第一个h1标签), h1(第二个h1标签)] //document.getElementsByTagName('h1')[0];指的是第一个h1 //document.getElementsByTagName('h1')[1];指的是第二个h1document.getElementsByName(‘Name属性值’)[下标]; HelloWorld Hi let titled=document.getElementsByName('titled'); console.log(titled); //输出 NodeList(2) [h1(第一个h1标签), h1(第二个h1标签)] //document.getElementsByName('titled')[0];指的是第一个h1标签 //document.getElementsByName('titled')[1];指的是第二个h1标签document.querySelector(‘选择器’);//返回指定的第一个选择器对象 HelloWorld Hi let titled=document.querySelector('h1'); console.log(titled); //输出 HelloWorlddocument.querySeletorAll(‘选择器’)[下标];//返回指定下标的选择器对象 HelloWorld Hi let titled=document.querySelectorAll('h1'); console.log(titled); //输出 NodeList(2) [h1(第一个h1标签), h1(第二个h1标签)]document.documentElement;//返回整个HTML标签,包含其他元素 HelloWorld Hi console.log(document.documentElement); //输出 整个HTML文档document.body;//返回页面中的body标签 HelloWorld Hi console.log(document.body); //输出 标签,包含标签内的其他标签document.all[下标];//返回指定下标的标签对象 Document HelloWorld Hi console.log(document.all[5]); //输出 标签 //按照这个文档 //document.all[0];指的是标签 //document.all[1];指的是标签 //document.all[2];指的是标签 //document.all[3];指的是 //document.all[4];指的是标签 二、新建DOM、添加DOM新建DOM document.createElement('元素名');//创建指定的元素 document.createAttribute('属性名');//创建属性节点 document.createTextNode('文本节点');//创建文本节点 document.createComment('注释节点');//创建注释节点 document.createDocumentFtagment();//创建文档片段节点添加DOM parentNode.appendChild(newNode);//向父节点中添加子节点 parentNode.insertBefore(newNode,existingNode);//向父节点中的子节点前添加新子节点 element.setAttributeNode(attribute);//指定元素添加属性节点 element.setAttribute(attributeName,attributeValue);//给指定元素添加属性名,并设置属性值DOM的创建与添加一起使用 document.createElement(‘元素名’);//创建指定的元素 document.createTextNode(‘文本节点’);//创建文本节点 创建节点 document.getElementsByTagName('button')[0].onclick = function(){ let h1=document.createElement('h1'); let text=document.createTextNode("Hello"); h1.appendChild(text); document.body.appendChild(h1); //点击button创建节点 }document.createAttribute(‘属性名’);//创建属性节点 element.setAttributeNode(attribute);//指定元素添加属性节点 创建节点 Hello document.getElementsByTagName('button')[0].onclick = function(){ let h1=document.getElementsByTagName('h1')[0]; let att=document.createAttribute("name"); att.nodeValue="newNode"; h1.setAttributeNode(att); //点击button,为h1标签创建name属性 }document.createComment(‘注释节点’);//创建注释节点 创建节点 document.getElementsByTagName('button')[0].onclick = function(){ let com=document.createComment('注释节点'); document.body.appendChild(com); //点击button创建注释节点 }document.createDocumentFtagment();//创建文档片段节点 创建节点 document.getElementsByTagName('button')[0].onclick = function(){ let com=document.createDocumentFragment(); let text=document.createTextNode("Hello"); com.appendChild(text); document.body.appendChild(com); //点击button创建虚拟的节点对象 }createDocumentFragment()方法,是用来创建一个虚拟的节点对象。DocumentFragment节点不属于文档树,继承的parentNode属性总是null。 三、删除DOM parentNode.removeChild(子节点);//删除父节点中指定的子节点,返回值为删除的子节点。 element.removeAttribute("属性名");//删除节点中指定属性名的节点,无返回值。 element.removeAttributeNode("属性名");//删除节点中指定属性名的节点,返回值为删除的属性。parentNode.removeChild(子节点);//删除父节点中指定的子节点,返回值为删除的子节点。 删除节点 document.getElementsByTagName('button')[0].onclick = function(){ let btn=document.getElementsByTagName('button')[0]; let remove=document.body.removeChild(btn); console.log(remove); //输出 创建节点 }element.removeAttribute(“属性名”);//删除节点中指定属性名的节点,无返回值。 删除节点 document.getElementsByTagName('button')[0].onclick = function(){ let btn=document.getElementsByTagName('button')[0]; btn.removeAttribute('name'); //点击button删除name属性 }element.removeAttributeNode(“属性名”);//删除节点中指定属性名的节点,返回值为删除的属性。 删除节点 document.getElementsByTagName('button')[0].onclick = function(){ let btn=document.getElementsByTagName('button')[0]; let att=btn.getAttributeNode("name"); let remove=btn.removeAttributeNode(att); console.log(remove); //输出 name="button" } 四、修改DOM parentNode.replace(newNode,existingNode);//替换父节点中的子节点 element.setAttribute(attributeName,attributeValue);//修改指定节点中的属性节点parentNode.replace(newNode,existingNode);//替换父节点中的子节点 修改节点 document.getElementsByTagName('button')[0].onclick = function(){ let btn=document.getElementsByTagName('button')[0]; let h1=document.createElement('h1'); let text=document.createTextNode("新的节点"); h1.appendChild(text); document.body.replaceChild(h1,btn); //点击替换button节点 } 五、克隆DOM element.cloneNode(true/false);//返回克隆的节点true——克隆标签节点和节点的属性(深拷贝) false——只克隆节点的标签(浅拷贝) 删除节点 document.getElementsByTagName('button')[0].onclick = function(){ let btn=document.getElementsByTagName('button')[0]; let cloneNode=btn.cloneNode(true); document.body.appendChild(cloneNode); } |
CopyRight 2018-2019 实验室设备网 版权所有 |