JS——DOM操作(createElement、appendChild、insertBefore、removeChild的用法,及todolist案例)


(1)createElement(标签名)、appendChild(节点)的用法

讲解:

(1)语法:document.createElement(nodename) 【参数nodename为节点对象元素,必须】 即:该方法通过指定名称创建一个元素(创建一个节点)

(2)语法:node.appendChild(node) 【参数node为节点对象,必须】即:该方法可向节点的子节点列表的末尾添加新的子节点追加一个节点

z

用原生js方法,简单制作todolist案例    

//可以参考本人之前做过的vue中的todolist案例,链接:https://www.cnblogs.com/ytraister/p/10534181.html

演示效果如下图:

 

 

显示代码如下:

 

代码解释:

第15行代码:当点击按钮触发,创建li元素

第18行代码:把li元素添加到ul元素之后

第17行代码:把输入的文本的值添加到相应的li元素当中

第20行代码:把表单中的文本内容清空(即:文本的值为空值)

 

(2)insertBefore

更新新案例,同上操作,只不过把最新的li输入文本放在首位显示

新增语法操作:insertBefore    【在已有元素前插入】

语法说明: 父类.insertBefore(要插入的子类,要添加新的子类前的子节点)   或者理解为:insertBefore(节点,原有节点)  
 

效果如下图:

 

代码如下图:

代码解释:

第16行代码:获取已创建的lli元素

第19行代码:更新文本到最前面的位置  类似论坛发文的操作,新文章位列在前的例子     

      insertBefore的语法说明:父类.insertBefore(要插入的子类,要添加新的子类前的子节点)
 
 
但是最完整的写法应该是这样的,如下图显示:

对已创建的li元素进行判断(即第16行代码所获取的li元素)

当ul中没有li元素时,执行if判断语句(即第19行代码),让li元素添加到ul当中(即第20行代码);

否则,把新加入的li元素添加到li元素的上一个节点(即第23行代码)

 

 

(3)删除DOM元素方法:

removeChild(节点)  【删除一个节点】

案例效果如下图:

代码如下图:

 

解释代码如下:

第15行代码中的removeChild()方法是用来删除节点的,括号中的节点为“this.parentNode”,this表示为当前触发的a元素,parentNode表示为父元素。

结合起来表示为:但触发a元素点击事件,删除ul元素中的a元素的父元素li


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM