js——添加或删除元素节点(append 和 innerHtml) 节点访问关系 节点属性

添加或删除元素节点

1、append原理:

    //添加
    var para=document.createElement('p');//创建新的p标签
    var node=document.createTextNode('这是一个段落');//创建一个文本节点
    para.appendChild(node);//向p追加此文本节点
    para.className="lucky";//向p追加className
    var element=document.getElementById('div');
    element.appendChild(para);//向已有元素添加新元素(默认将para插入到element的最后)
    element.insertBefore(para,p1)//向已有元素添加新元素(默认将para插入到p1元素的前面)
    
    target.insertBefore(source,target.firstChild);//向target内部第一个位置添加source
    target.parentNode.insertBefore(source,target);//将source插入到target外部前面
	target.appendChild(source);//向target内部最后一个位置添加source
	target.parentNode.insertBefore(source, target.nextSibling);//将source插入到target外部后面
    
    
    //删除
    //原理
    var parent=document.getElementById('div');//找到父元素
    var child=document.getElementById('p');//找到子元素
    parent.removeChild(child);//从父元素删除子元素
      //简化
      var child=document.getElementById('p');//找到子元素
      child.parentNode.removeChild(child);//自杀删除
      //法二
      child.remove();//推荐使用


	//复制
	var 新节点=目标节点.cloneNode();//传入true:复制包含内部(例:

你好

);传入false:只复制一层(例:

2、innerHtml原理

        //创建添加文本
        function text(json){
            var text='
+json.id+'">\n' + '

'+json.content1+'

\n'
+ '

'+json.content2+'

\n'
+ '
'
; return text; } //添加文本 function addText(){ var cc='idName'; var element=document.getElementById('add'); var json={ text:{ id:cc, content1:'lucky', content2:'boy' } }; for(var key in json){ element.innerHTML += text(json[key]);//添加到子元素最后面 element.innerHTML = text(json[key])+element.innerHTML;//添加到子元素最前面 } } addText();

节点访问关系

父节点:parentNode

c=box.parentNode.parentNode;//获取box爷爷标签

兄弟节点(相邻):
下个兄弟节点:nextSibling
上个兄弟节点:previousSibling

单个子节点
第一个子节点:firstElementChild
最后一个子节点:lastElementChild
所有子节点:1、childNodes ;(会包含其他参数) 2、children ;(常用)

获取任意兄弟节点
parentNode.children[index]

节点属性

获取节点属性:
1、目标 . getAttribute( ‘src’ ); //常用
2、目标 . src; //会出现乱码前缀

设置改变属性节点: 目标 . setAttribute( ‘src’ , ‘url’ );

删除属性节点: 目标 . removeAttribute( ‘src’ );

你可能感兴趣的:(javascript)