JavaScript DOM基本操作

前面讲了DOM查找节点方法;

本文主要讲讲,通过JS新建、插入、替换等DOM的基本操作;

 


(一)新建元素节点

document.createElement('元素名');

创建新的元素节点

document.createTextNode('文本内容');

创建新的文本节点

document.createComment('注释节点');

创建新的注释节点

document.createDocumentFragment( );

创建文档片段节点

 

 

 

 

 

 

 

其中document.createElement()较为常用,需重点掌握;


 

(二)添加元素节点

通过上述create,只是创建而已,并没有真真添加,所以浏览器是显示不出来的。

parent.appendChild( element/txt/comment/fragment );

向父节点的最后一个子节点后追加新节点

parent.insertBefore( newChild, existingChild );

向父节点的某个特定子节点之前插入新节点

 

 

 

 

 1 <body>
 2     <div>
 3         <p></p>
 4         <em></em>
 5     </div>
 6 
 7 <script type="text/javascript">
 8     var div = document.getElementsByTagName('div')[0];
 9     var em = document.getElementsByTagName('em')[0];
10 
11     var strong = document.createElement('strong');
12     div.appendChild(strong);
13 
14     var a = document.createElement('a');
15     div.insertBefore(a,em);
16 </script>

结论:先创建在追加挂载;


 

(三)删除元素节点

parentNode.removeChild( existingChild );

child.remove();

 

 1 <body>
 2     <div>
 3         <p></p>
 4         <span></span>
 5         <i></i>
 6         <a href="#"></a>
 7         <em></em>
 8     </div>
 9 
10 <script type="text/javascript">
11     var div = document.getElementsByTagName('div')[0];
12     var span = document.getElementsByTagName('span')[0];
13     var em = document.getElementsByTagName('em')[0];
14 
15     div.removeChild(span);//删除span标签
16     em.remove();//删除em标签
17 
18 </script>
19 </body>

(四)替换元素节点

parentNode.replaceChild( newChild, existingChild );

用新节点替换父节点中已有的子节点

 

 

此方法较为少用


 

 

(四)修改/获取行间元素属性

element.getAttribute('属性名') 

方法返回指定属性名的属性值。
element.removeAttribute('属性名'); 删除具有指定属性名称的属性,无返回值
element.setAttribute( attributeName, attributeValue ); 若原元素已有该节点,此操作能达到修改该属性值的目的

 

 

 

 

 1 <body>
 2     <div class="red">
 3         <p></p>
 4         <span></span>
 5         <i></i>
 6         <a href="#"></a>
 7         <em></em>
 8     </div>
 9 
10 <script type="text/javascript">
11     var div = document.getElementsByTagName('div')[0];
12     console.log(div.getAttribute('class'));
13     div.setAttribute('id','only');
14 </script>
15 </body>

 

 

 

原文地址:https://www.cnblogs.com/wood2012/p/7990270.html