• 原生js操作Dom节点:CRUD


    知识点,依然会遗忘。我在思考到底是什么原因。想到研究生考试准备的那段岁月,想到知识体系的建立,知识体系分为正向知识体系和逆向知识体系;正向知识体系可以理解为教科书目录,逆向知识体系可以理解考试真题。

    按照知识体系建设这个思路,追求长久的深刻的记忆。决定建立正向知识体系。本文系正向知识体系的第一篇。

    原生js操作dom节点:所谓的CRUD,代表create,read,update,del;也就是创建,读取,更新和删除。dom提供了api用于创建节点常用有

    1         var div=document.createElement("div");
    2         var p=document.createElement("p");
    3         div.innerHTML="这是插入内容";
    4         var text=document.createTextNode("这是文本内容");
    5         var img=new Image();

    创建元素、文本内容和图片。创建要和插入一起使用,所以

     1   
     2        dom1.appendChild(div);
     3        dom1.insertBefore(div,dom1.querySelector("p")); 
     4        function inertAfter(newElement,targetElement){
     5               var parent=targetElement.parentNode;
     6               if (parent.lastChild==targetElement) {
     7                   parent.appendChild(newElement);
     8               }else{
     9                   parent.inertBefore(newElement,targetElement.nestSibling);
    10               }
    11          }
    12        document.getElementById('id名称').preappend(div);//直接插入到父元素第一个位置
    13        document.getElementById('id名称').append(div);//直接插入到父元素最后位置
    14        //还有另一个api
    15        dom1.insertAdjacentHTML("afterBegin","<h1> 在文本前容器内插入内容1</h1>");  
    16        dom1.insertAdjacentHTML("beforeEnd","<h2> 在文本后容器内插入内容2</h2>");  
    17        dom1.insertAdjacentHTML("beforeBegin","<h4> 在文本前容器外插入内容4</h1>");  
    18        dom1.insertAdjacentHTML("afterEnd","<h5> 在文本后容器外插入内容5</h2>"); 

    读取也就是选择器的功能实现

     1        //直接选择器
     2        var dom1=document.getElementById("dom1");
     3        var dom1=document.querySelector("#dom1");
     4        var matches = document.querySelectorAll("div.note, div.alert");
     5        var div=document.getElementsByClassName(".div");
     6        var div=document.getElementsByTagName("div");
     7        //节点关系选择器
     8        var divC=div.innerHTML;//内部
     9        var divC=div.outerHTML;//整个节点
    10        var divS=div.children;//子节点集合
    11        var divS=div.firstChild;//第一个子节点,如果有空格返回#text
    12        var divS=div.lastChild;//最后一个子节点,如果有空格返回#text
    13        var divS=div.nextSibling;//下一个节点,如果有空格返回#text
    14        var divS=div.prvSibling;//前一个节点,如果有空格返回#text
    15        var divS=div.parentNode;//父节点
    16        //节点集合
    17        var form=document.forms[0];//表单集合
    18        var img=document.images[0];//图片集合
    19        var img=document.links[0];//所有带连接的a节点

    然后是更新,我理解的是替换,常用实现

    1            parent.replaceChild(div,dom1.querySelector("p"));
    2            dom1.innerHTML="hhh";
    3            dom1.innerText="999";

    最后是删除的实现

    1            parent.removeChild(dom1.querySelector("p"));
    2            dom1.innerHTML="";
    3            dom1.innerText="";

    本文结束。

  • 相关阅读:
    ASP.NET : 自定义HttpModule的时候要注意的问题
    ASP.NET : Win7 及 IIS 7中对于处理程序映射
    .NET : 一定不要忘记关闭DataReader对象
    IE 8 Accelerator加速器开发介绍{转载}
    .NET : CLR Profiler的使用
    .NET : 在实现WCF的双工服务时可能遇到的问题
    Silverlight学习资源
    .NET : 如何查看值类型的大小
    .NET: 如何通过AppDomain动态加载插件程序
    Web.config中的特殊字符
  • 原文地址:https://www.cnblogs.com/zhensg123/p/8867591.html
Copyright © 2020-2023  润新知