上篇博客中,我们已经初步接触了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. Cookie和Session在Node.JS中的实践(一)

    Cookie和Session在Node.JS中的实践(一) Cookie和Session是一个非常有趣的概念,也是一个老生常谈的话题.然而,作者看了许多文章,也翻看了几本书籍,它们对Cookie和Se ...

  2. [POI2014]Beads

    题目大意: 有$n(n\leq10^6)$种颜色,第$i$种颜色有$c_i(\sum c_i\leq10^6)$个,指定第一个颜色为$a$,最后一个颜色为$b$,问对于一个长度为$m=\sum c_i ...

  3. OVF? OVA? VMDK? – File Formats and Tools for Virtualization

    I recently worked on a project to create a “virtual appliance” for one of our customers. They have a ...

  4. 玩转shell之符号篇

    转:http://hi.baidu.com/hellosimple/item/21b31dfefd23e811e2e3bd47 在shell中常用的特殊符号罗列如下: # ; ;; . , / \\ ...

  5. linux MySQL Cluster MySQL集群

    原文:http://lizhenliang.blog.51cto.com/7876557/1290451  官方下载地址 http://dev.mysql.com/downloads/cluster/ ...

  6. 在K8s中创建StatefulSet

    在K8s中创建StatefulSet 遇到的问题: 使用Deployment创建的Pod是无状态的,当挂在Volume之后,如果该Pod挂了,Replication Controller会再run一个 ...

  7. windows和linux之间上传下载文件的两种方法

    一    用rz和sz http://blog.csdn.net/register_man/article/details/53860774 http://www.jb51.net/article/7 ...

  8. maven自己主动编译,解决你每次代码改动须要又一次编译的繁琐

    maven结构的项目,我们在每次改动代码后都会须要手动编译,以下命令能够解决此问题.仅仅要代码改动.会自己主动帮你编译. 进入项目文件夹运行:mvn -U eclipse:clean eclipse: ...

  9. 开源jabber(XMPP)架设内部即时通讯服务的解决方案

    Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用.    XMPP(可扩展消息处理现场协议)是基于可扩展 ...

  10. fiddler实现后端接口 mock(不需要修改开发代码)

    转载:http://blog.csdn.net/huazhongkejidaxuezpp/article/details/50435552 步骤   1.  获取 接口 定义(接口返回的json串) ...