何为删除节点,删除节点就是利用node.removeChild()方法从node节点中删除一个节点,返回删除的节点
例如,在ul里有3个li标签分别对应1,23,234当你想删除li标签里的内容是就得利用删除节点的方法案例如下:
这是代码的初始模样
当你想删除第一个li标签里的内容时,点击删除按钮,就会执行if条件里的删除节点,从而达到你想要的效果
以此类推,直到你删完所有的内容,将不再执行
当内容都被删除以后再次点击删除,删除按钮就会失去效果,因为ul标签里的内容没有了,所以,执行if语句,点击按钮为True,将不再执行。
当我们把文本域里面的值赋值给li时,多添加一个删除的链接,实现页面上的输出内容可以删除,但需要把所有的链接获取过来,当我们点击当前的链接时,删除当前链接所在的li,并且要阻止链接的跳转需要添加javascript:void(0)或javascript:;
输出多个内容
当想删除多余的输出内容是,可点击li里添加的删除
复制节点,又可以叫克隆节点,是使用node.cloneNode()方法返回调用该方法的节点的一个副本。如果括号里参数为空值或为false时,则是浅拷贝,浅拷贝指的是只复制克隆节点本身,不克隆复制里面的子节点。如果括号里参数为true是,说明是深度拷贝,会复制节点本身以及里面所有的子节点。
当获取ul中第一位li时,复制第一位li
同理,当获取ul中的第二位li时,复制第二位li
案例:
1.document.write()方法创建对象
<body> <input type="button" value="创建一个p" id="btn"/> 小苏是一个快乐的小男孩 <script src="common.js"></script> <script> //document.write("标签代码及内容"); document.getelementById("btn").onclick=function () { document.write("<p>这是一个p</p>"); }; // document.write("<p>这是一个p</p>"); //document.write()创建元素,缺陷:如果是在页面加载完毕后,此时通过这种方式创建元素,那么页面上存在的所有的内容全部被干掉 </script> </body>2.innerHTML方式创建对象
<body> <input type="button" value="创建一个p" id="btn" /> <div id="dv"></div> <script src="common.js"></script> <script> //点击按钮,在div中创建一个p标签 //第二种方式创建元素: 对象.innerHTML="标签代码及内容"; document.getelementById("btn").onclick=function () { document.getelementById("dv").innerHTML="<p>窗前明月光,疑是地上霜,举头望明月,低头思故乡</p>"; }; </script> </body>3.document.createElement()方式创建对象
<body> <input type="button" value="创建p" id="btn"/> <div id="dv"></div> <script src="common.js"></script> <script> //设置任意元素的中间的文本内容 function setInnnerText(element,text) { if(typeof element.textContent=="undefined"){ element.innerText=text; }else{ element.textContent=text; } } //第三种方式创建元素 //创建元素 //document.createElement("标签名字");对象 //把元素追加到父级元素中 //点击按钮,在div中创建一个p document.getelementById("btn").onclick = function () { //创建元素的 var pObj = document.createElement("p"); setInnnerText(pObj, "这是一个p"); //把创建后的子元素追加到父级元素中 document.getElementById("dv").appendChild(pObj); }; </script> </body>