JS DOM

Posted 85-q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS DOM相关的知识,希望对你有一定的参考价值。

 

                                   节点操作

在某个子节点的前面插入父节点.insertBefore("新来的","旧节点")

function createLiAtFirst(){
    var str = prompt("请输入点东西");
    var oLi = document.createElement("li");
    oLi.innerhtml = str;
    var oUl = document.getElementById("list");
    
    oUl.insertBefore(oLi,oUl.firstChild);
}

 

js中只有insertBefore() 没有insertAfter
自定义函数实现insertAfter的功能

                   删除节点

1.创建元素节点 document.createElement(标签名)
2.添加到父节点
   父节点.appendChild(子节点)
   父节点.insertBefore(新节点,旧节点)
3.删除节点 父节点.removeChild(子节点)
4.替换节点 父节点.replaceChild(新节点,旧节点)
5.克隆节点 节点.cloneNode() 克隆节点,不克隆子节点
   节点.cloneNode(true)克隆节点,克隆子节点
6.创建文本节点 document.createTextNode("文本值")

function deleteDiv(){
            //将div从父节点body中删除
            // 父节点.removeChild(子节点)
            var oDiv = document.getElementById("box");
            document.body.removeChild(oDiv);
        }
function replaceDiv(){
			//将子节点替换成另一个节点
			// 父节点.replaceChild(新节点,旧节点)
			var oImg = document.createElement("img");
			oImg.src = "XX.jpg";
			oImg.style.width = "400px";
			oImg.style.height = "400px";

			var oDiv = document.getElementById("box");
			document.body.replaceChild(oImg,oDiv);
		}
function cloneDiv(){
			var oDiv = document.getElementById("box");
			//节点.cloneNode() 克隆当前的节点
			// 不传值 默认是false 不会克隆子节点
			// 传值 true 克隆子节点
			console.log( oDiv.cloneNode(true) );
			document.body.appendChild( oDiv.cloneNode(true) );
		}

                                          创建动态表格

 

<script type="text/javascript">
        function createTable(){
            // 1.获取行列8
            var rows = parseInt( $("rw").value );
            var cols = parseInt( $("cl").value );
            // 2.创建表格 table标签
                // 2.1 创建table标签,然后添加到body上
                // 2.2 外层循环创建tr,然后把tr添加table;
                // 2.3 内层循环创建td,给td设置宽高背景色。然后把td添加到tr上
            var oTb = document.createElement("table");
            document.body.appendChild(oTb);
            for (var i = 0; i < rows; i++) {
                var oTr = document.createElement("tr");
                oTb.appendChild(oTr);
                for(var j=0;j<cols;j++){
                    var oTd = document.createElement("td");
                    oTd.style.width = "10px";
                    oTd.style.height = "10px";
                    oTd.style.backgroundColor = randomColor();
                    oTr.appendChild(oTd);
                }
            }
        }
 </script>

 

                                           删除表格中行

 

for (var i = 0; i < delBtns.length; i++) {
		//给每一个按钮绑定点击事件的事件处理程序
		// 元素节点.onclick = 函数名/匿名函数
		// object 封装属性和方法
		delBtns[i].onclick =deleteTr;
		
		/*delBtns[i].onclick = function(){
			console.log(this);
		};*/
		
		
	}
	function deleteTr(){
		//按钮-->td-->tr 从 tbody中删除
		// this 指针,指向自己的所归属的对象
		console.log(this);//指的是按钮       
		console.log(this.innerHTML);
		oTb.lastChild.removeChild(this.parentNode.parentNode);
	}

  

 












以上是关于JS DOM的主要内容,如果未能解决你的问题,请参考以下文章

JS常用代码片段2-值得收藏

前端开发中最常用的JS代码片段

angularJS使用ocLazyLoad实现js延迟加载

2.ReactJS基础(虚拟DOM,JSX语法)

通过DOM元素数据集将回调传递给js

jquery 对象的 heightinnerHeightouterHeight 的区别以及DOM 元素的 clientHeightoffsetHeightscrollHeightoffset(代码片段