上篇博客中,我们已经初步接触了DOM基础,可是我们学习是为了可以更好地应用,今天我们就来看看DOM节点的增删改查。

无论在哪里,我们想要操作一个东西,总是应该先去获得它。那么我们怎么获得呢?

HTML的每一个成分都能够看作是节点(文档节点、元素节点、文本节点、属性节点、凝视节点。当中,属性节点属于元素节点)。

W3C
提供了比較方便简单的定位节点的方法和属性,以便我们高速的对节点进行操作。

分别为:getElementById()、getElementsByTagName()、getElementsByName()、getAttribute()、setAttribute()和removeAttribute()。

1.getElementById()方法

getElementById()方法,接受一个參数:获取元素的ID。假设找到对应的元素则返回该

元素的
HTMLDivElement对象,假设不存在,则返回null。

document.getElementById('box');              //获取id 为 box 的元素节点

PS:id表示一个元素节点的唯一性,不能同一时候给两个或以上的元素节点创建同一个命名的id。当我们通过getElementById()获取到特定元素节点时。这个节点对象就被我们获取到了,而通过这个节点对象。我们能够訪问它的一系列属性。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2FpYmlhbjA4MjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

2.getElementsByTagName()方法

getElementsByTagName()方法将返回一个对象数组HTMLCollection(NodeList),这个数组保存着全部同样元素名的节点列表。

 document.getElementsByTagName('*');              //获取全部元素

无论是
getElementById还是getElementsByTagName,在传递參数的时候,并非全部浏览器都必须区分大写和小写,为了防止不必要的错误和麻烦。我们必须坚持养成区分大写和小写的习惯。

3.getElementsByName()方法

getElementsByName()方法能够获取同样名称(name)的元素。返回一个对象数组HTMLCollection(NodeList)。

   document.getElementsByName('add')   //获取input元素document.getElementsByName('add')[0].value     //获取input元素的 value值document.getElementsByName('add')[0].checked//获取input元素的checked值

4.getAttribute()方法

getAttribute()方法将获取元素中某个属性的值。它和直接使用.属性获取属性值的方法有

一定差别。

<span style="font-family:KaiTi_GB2312;font-size:18px;">document.getElementById('box').getAttribute('id');//获取元素的id 值 document.getElementById('box').id;//获取元素的id 值

document.getElementById('box').getAttribute('mydiv');//获取元素的自己定义属性值</span>

5.setAttribute()方法

setAttribute()方法将设置元素中某个属性和值。它须要接受两个參数:属性名和值。

假设属性本身已存在,那么就会被覆盖。

<span style="font-family:KaiTi_GB2312;font-size:18px;">document.getElementById('box').setAttribute('align','center');//设置属性和值document.getElementById('box').setAttribute('bbb','ccc');//设置自己定义的属性和值</span>

6.removeAttribute()方法

removeAttribute()能够移除HTML属性。

<span style="font-family:KaiTi_GB2312;font-size:18px;">document.getElementById('box').removeAttribute('style');//移除属性</span>

三.DOM节点

1.node节点属性

节点能够分为元素节点、属性节点和文本节点。而这些节点又有三个很实用的属性,分别为:nodeName、nodeType和nodeValue。

2.层次节点属性

节点的层次结构能够划分为:父节点与子节点、兄弟节点这两种。当我们获取当中一个元素节点的时候,就能够使用层次节点属性来获取它相关层次的节点。

四.节点操作

DOM
不单单能够查找节点,也能够创建节点、复制节点、插入节点、删除节点和替换节点。

这些方法我们都能够将之进行联系起来。这样我们才干够编成一张大的知识网,当然只知道还是不够的,我们要多运用,多找联系。多去总结。

HTML DOM节点的增删改查的更多相关文章

  1. DOM节点的增删改查

    在开始展开DOM操作前,首先需要构建一棵DOM树. <!DOCTYPE html> <html lang="en"> <head> <me ...

  2. DOM节点的增删改查以及class属性的操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. JS DOM节点的增删改查

    合并拆分 行内样式  script写在html里面

  4. HTML DOM(二):节点的增删改查

    上一篇讲述了DOM的基本知识,从其得知,在DOM眼中,HTML的每个成分都可以看作是节点(文档节点.元素节点.文本节点.属性节点.注释节点,其中,属性节点是属于元素节点),本篇的内容就是通过DOM对这 ...

  5. 9 HTML DOM事件监听&版本兼容&元素(节点)增删改查

    事件监听: 语法:element.addEventListener(event, function, useCapture); event:事件的类型,触发什么事件,注意不需要on作为前缀,比如cli ...

  6. JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删改查),事件

    JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删 ...

  7. ZooKeeper客户端 zkCli.sh 节点的增删改查

    zkCli.sh 在 bin 目录下的  zkCli.sh  就是ZooKeeper客户端 ./zkCli.sh -timeout 5000  -server 127.0.0.1:2181  客户端与 ...

  8. Zookeeper入门(六)之zkCli.sh对节点的增删改查

    参考地址为:https://www.cnblogs.com/sherrykid/p/5813148.html 1.连接 在 bin 目录下的  zkCli.sh  就是ZooKeeper客户端 ./z ...

  9. 超详细的DOM操作(增删改查)

    操作DOM的核心就是增删改查 原文地址:https://jianshu.com/p/b0aa846f4dcc 目录 一.节点创建型API 1.1 createElement 1.2 createTex ...

随机推荐

  1. 2017 China Collegiate Programming Contest Final (CCPC 2017)

    题解右转队伍wiki https://acm.ecnu.edu.cn/wiki/index.php?title=2017_China_Collegiate_Programming_Contest_Fi ...

  2. [洛谷3808]【模板】AC自动机(简单版)

    题目大意: 给定$n$个模式串$p(\sum|p_i|\le10^6)$和一个$t(|t|\le10^6)$,求在$t$中被匹配的$p$的个数. 思路: AC自动机模板题,注意$t$中一个字符可能对应 ...

  3. MySQL命令show full processlist

    processlist命令的输出结果显示了有哪些线程在运行,可以检查当前数据库的运行状态,两种方式使用这个命令. 1 进入MySQL/bin目录下输入mysqladmin processlist; 2 ...

  4. 细说JavaScript对象(3):hasOwnProperty

    判断一个属性是定义在对象本身而不是继承自原型链,我们需要使用从 Object.prototype 继承而来的 hasOwnProperty 方法. hasOwnProperty 方法是 JavaScr ...

  5. 设计模式之工厂模式之抽象工厂(php实现)

    github地址: git@github.com:ZQCard/design_pattern.git 抽象工厂模式: 先来认识下什么是产品族: 位于不同产品等级结构中,功能相关联的产品组成的家族.图中 ...

  6. appium Parameters were incorrect

    raise exception_class(value) selenium.common.exceptions.WebDriverException: Message: Parameters were ...

  7. 认识多渲染目标(Multiple Render Targets)技术【转】

    http://www.cnblogs.com/hellohuan/archive/2008/12/01/1345359.html 首先,渲染到纹理是D3D中的一项高级技术.一方面,它很简单,另一方面它 ...

  8. C语言:宽字符集操作函数

    C语言:宽字符集操作函数 (unicode编码) 字符分类: 宽字符函数普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测 ...

  9. Solr 6.6.0 ERROR: Port 8983 is already being used by another process.

    在目录D:\work\Solr\solr-6.6.0\bin下打开命令框: 输入:solr -e dih报错:ERROR: Port 8983 is already being used by ano ...

  10. elasticsearch升级步骤

    ES从1.2.1升级到1.4.0 升级步骤,基本上是按照官网的叙述来完成的,链接是:http://www.elasticsearch.org/guide/en/elasticsearch/refere ...