每日读书-8-web前端开发-js基础

5.DOM基础

  1. 节点
    常见的只有三种(其他不用管)。
  • 元素节点
  • 属性节点
  • 文本节点
节点

可以使用nodeType属性来判断一个节点的类型
值1,2,3,分别依次表示元素,属性,文本节点

  1. 获取节点
    选择器是CSS的操作方式,而JavaScript却有着属于自己的另一套方法。
    在JavaScript中,我们可以通过以下六种方式来获取指定元素。
  • getElementById() //通过id
  • getElementsByTagName() //通过标签类型
  • getElementsByClassName() //通过class
  • querySelector()和querySelectorAll() //使用CSS选择器的语法获取所需元素。
  • getElementsByName() //表单有name元素,可以通过其选取
  • document.title和document.body //
    getElementById()和getElementsByTagName()有以下三个明显的区别。
    1)getElementById()获取的是一个元素,而getElementsByTagName()获取的是多个元素(伪数组)。
  1. getElementById()前面只可以接document,也就是document.getElement ById();getElementsByTagName()前面不仅可以接document,还可以接其他DOM对象。
  2. getElementById()不可以操作动态创建的DOM元素,而getElementsBy TagName()可以操作动态创建的DOM元素。
  1. 动态DOM
    所谓的“动态DOM”,指的是使用JavaScript创建的元素,这个元素一开始在HTML中是不存在的。
    一般格式:
var a = document.createElement("元素名");
var b = document.ctreateTextNode("文本内容");
a.属性1=xx;... a.属性n=xx;
a.appendChild(b);//将b插入到a中
c.appendChild(a);//将a插入到已有节点c中末尾

从上面几个例子,我们可以总结一下,如果想要创建一个元素,需要以下四步。① 创建元素节点:createElement()
② 创建文本节点:createTextNode()
③ 把文本节点插入元素节点:appendChild()
④ 把组装好的元素插入到已有元素中:appendChild()把一个新元素插入到父元素的内部子元素的“末尾”。a.insertBefore(b,c)方法将新元素b,插入到父元素中的某一个子元素c“之前”。
3.1. 删除元素
我们可以使用removeChild()方法来删除父元素下的某个子元素
3.2. 复制元素
我们可以使用obj.cloneNode(bool)方法来实现复制元素。
参数obj表示被复制的元素,而参数bool是一个布尔值,取值如下。
1或true:表示复制元素本身以及复制该元素下的所有子元素。
0或false:表示仅仅复制元素本身,不复制该元素下的子元素。
3.3. 替换元素
我们可以使用A.replaceChild(new,old)方法来实现替换元素。
A表示父元素,new表示新子元素,old表示旧子元素。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容