HTML中DOM核心知识有哪些(带实例超详解)

一、总结:

1、先取html元素,然后再对他进行操作,取的话可以getElementById等

2、操作的话,可以是innerHtml,value等等

二、基本概念

每个载入浏览器的 HTML 文档都会成为 Document 对象。 Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。 Document 对象是 Window 对象的一部分 当浏览器打开一个HTML文档时,浏览器解析HTML文档的标记,并创建表示这些标记的对象,这些对象就是HTML文档对象文档对象即Document 对象,指的是一回事。

三、DOM常用方法

1、获取HTML文档对象的方法

getElementById() 返回对拥有指定 id 的第一个对象的引用。 getElementsByName() 返回带有指定名称的对象集合。 getElementsByTagName() 返回带有指定标签名的对象集合。

2、其他方法

write() 向文档写 HTML 表达式 或 JavaScript 代码。

温馨提示:文档加载之后使用docunment.write()会覆盖原文档.

四、改变 HTML 元素的样式

在 HTML DOM 中,Element 对象表示 HTML 元素。

HTML DOM 允许 JavaScript 改变 HTML 元素的样式。

获取元素的内容和标签名称

element.innerHTML 设置或返回元素的内容。 element.tagName 返回元素的标签名。

HTML属性的获取

element.id 设置或返回元素的 id。 element.className 设置或返回元素的 class 属性。 element.title 设置或返回元素的 title 属性。 ......

改变CSS样式

通过style属性操作内联式

需要将下划线去掉并将第二个单词首字母大写,比如:
backgroundColor/backgroundImage/borderColormarginLeft.....
  .

通过className 

先在样式表里class的样式,然后通过JS修改元素class

操作HTML文档对象的属性

element.getAttribute()
返回元素节点的指定属性值。

element.setAttribute()
把指定属性设置或更改为指定值。

element.removeAttribute()
从元素中移除指定属性。

五、创建HTML文档对象

javascript中可以通过createElement()方法创建一个元素(节点)。

createElement() 创建元素节点。
element.appendChild()
向元素添加新的子节点,作为最后一个子节点。

element.removeChild()
从元素中移除子节点。

六、DOM节点

将文档结构相像成一棵树,每一个部分(元素,属性,内容)都可以看做一个节点

根据一个节点可以通过关系找到其他节点

节点的属性:(名称、类型、值)

element.nodeName
返回元素的名称。与element.tagName作用相同
文本节点的名称为:#text;文档节点的名称为:#document.

element.nodeType
返回元素的节点类型。

如果节点是元素节点,则
nodeType 属性将返回 1。

如果节点是属性节点,则
nodeType 属性将返回 2。

如果节点是文本节点,则
nodeType 属性将返回 3。

element.nodeValue
设置或返回元素值。

文本节点的nodeValue为文本内容
属性节点的nodeValue为属性

元素节点nodeValue

子元素相关(可以类别CSS中的虚拟类别选择器)

element.parentNode
返回元素的父节点。

element.childNodes
返回元素子节点的 NodeList。类似CSS中的子选择器

element.children
返回元素的子元素,该属性只返回元素节点。

element.firstChild和element.firstElementChild
返回元素的首个子元素。类似CSS中的:e:first-child

element.lastChild
和element.lastElementChild
返回元素的最后一个子元素。类似CSS中的: e:last-child

同级兄弟元素相关(可以类别CSS中的兄弟选择器)

element.previousSibling
element.previousElementSibling 返回位于相同节点树层级的前一个元素。

element.nextSibling element.nextElementSibling
返回位于相同节点树层级的下一个节点。类似CSS中的直接相邻选择器: h1+h2

属性节点

element.attributes
返回元素属性的 NamedNodeMap。

element.insertBefore()
在指定的已有的子节点之前插入新节点。

element.replaceChild()
替换元素中的子节点。

.......

七、测试题-简答题

1、Document文档对象到底是什么?

解答:HTML 文档,每个载入浏览器的
HTML 文档都会成为 Document
对象

2、Document 对象对象的意义是什么?

解答:Document 对象使我们可以从脚本中
HTML 页面中的所有元素进行访问。

3、Document 对象和window对象的关系是怎样的?

解答:Document 对象是 Window 对象的一部分

4、Document 对象的具体形成步骤是怎样的?

解答:当浏览器打开一个HTML文档时,浏览器解析HTML文档的标记,并创建表示这些标记的对象,这些对象就是HTML文档对象

5、文档对象和Document对象是一回事么?

解答:文档对象即Document
对象
,指的是一回事。

6、element元素和html标签是一回事么?

解答:是。

7、get方式获取文档对象的四种常见方式是哪四种?

解答:ById,ByClassName,ByTagName,ByName

8、document.write()方法是怎么回事?

解答:write() 向文档写 HTML 表达式 或 JavaScript 代码。

9、document.write()方法有哪些注意事项?

解答:文档加载之后使用docunment.write()会覆盖原文档.

10、在 HTML DOM 中,Element 对象表示 HTML 元素。这句话对么?

解答:对的。

11、DOM和javascript的关系是怎样的?

解答:HTML DOM 允许 JavaScript 改变 HTML 元素的样式。

12、JavaScript怎样改变HTML元素的样式?

解答:通过DOM。

13、如何获取一个元素的内容?

解答:element.innerHTML
设置或返回元素的内容。

14、元素的标签名称指的是什么?

解答:比如div的div

15、如何获取元素的标签名称?

解答:element.tagName
返回元素的标签名。

16、如何获取元素的属性或者设置元素的属性?

解答:直接用element点的形式就可以了。

17、如何获取元素的id属性?

解答:element.id
设置或返回元素的 id。

18、用element.class获取元素的class属性正确么?

解答:不正确。element.className
设置或返回元素的 class 属性。

19、标签中谁有title属性?

解答:a标签。

20、如何设置元素的属性?

解答:element点属性=的方式即可。

21、怎么知道标签的常用属性?

解答:包含在html标签里面就是它的属性,常用的话就是编辑器自动补全的。

22、如何设置元素的样式?

解答:element.style.具体样式

23、element.getAttribute()的作用是什么?

解答:element.getAttribute()
返回元素节点的指定属性值。

24、用什么方法可以设置元素的属性值?

解答:element.setAttribute()
把指定属性设置或更改为指定值。

25、如何将一个input标签设置为button类型?

解答:inputElement.setAttribute("type","button");

26、如何移除元素的某个制定属性?

解答:element.removeAttribute()
从元素中移除指定属性。

27、如何移除input的value属性?

解答:inputElement.removeAttribute("value");

28、如何创建一个元素对象?

解答:createElement() 创建元素节点。

29、文档对象、document对象、元素节点、element节点、html标签的关系?

解答:文档对象和document对象是一回事。元素节点和element节点和html标签是一回事。文档对象包含元素节点。

30、如何创建文档对象?

解答:创建一个html文件然后运行。

31、如何向某个元素中添加一个元素节点。

解答:element.appendChild()
向元素添加新的子节点,作为最后一个子节点。

32、元素节点是什么意思?

解答、就是html标签。

33、从一个元素中移除一个子元素节点用什么方法?

解答:element.removeChild()
从元素中移除子节点。

34、removeChild和removeElement的作用分别是什么?

解答:element.removeChild()
从元素中移除子节点。没有removeElement这个方法。

35、DOM中,我们必须掌握的是哪三种节点?

解答:元素节点、属性节点、文本节点。

36、如下这段标签总共有几个节点,分别说出来? p em 元素/em节点 /p

解答:5个,从左到右依次为:p标签元素节点,空格文本节点,em标签元素节点,' 元素'文本节点,'节点 '文本节点。

37、element.nodeName和element.tagName是一回事么?

解答:是、都是返回元素名称。element.nodeName
返回元素的名称。与element.tagName作用相同

38、简述element.nodeType的返回值的几种情况:

解答:element.nodeType
返回元素的节点类型。

如果节点是元素节点,则
nodeType 属性将返回 1。

如果节点是属性节点,则
nodeType 属性将返回 2。

如果节点是文本节点,则
nodeType 属性将返回 3。

39、element.nodeValue的作用是什么?

解答:element.nodeValue
设置或返回元素值。

40、element.nodeValue的使用注意事项是什么?

解答:

文本节点的nodeValue为文本内容

属性节点的nodeValue为属性

元素节点nodeValue

41、元素节点有nodeValue值么?

解答:没有

42、如何返回一个元素的父亲节点?

解答:element.parentNode
返回元素的父节点。

43、如何放回元素的所有孩子节点?

解答:element.childNodes
返回元素子节点的 NodeList。类似CSS中的子选择器

44、element.childNodes返回的节点中,除了元素节点,还有什么节点?

解答:文本节点。

45、如何只返回元素的孩子节点中的元素节点?

解答:element.children
返回元素的子元素,该属性只返回元素节点。

46、不同浏览器对DOM的支持相同么,如何解决这个问题?

解答:不相同,可以用if判断语句兼容。

47、element.firstChild和element.firstElementChild的作用是什么?

解答:返回元素的首个子元素。类似CSS中的:e:first-child

48、为什么有两个返回元素的最后一个子元素的方法,element.lastChild 和element.lastElementChild

解答:为了兼顾不同浏览器。

49、如何返回位于相同节点树层级的前一个元素?

解答:lement.previousSibling和element.previousElementSibling
返回位于相同节点树层级的前一个元素。

50、为什么返回位于相同节点树层级的下一个节点有两种方法,element.nextSibling和element.nextElementSibling?

解答:为了浏览器兼容。

51、如何返回元素的元素属性的 NamedNodeMap?

解答:element.attributes
返回元素属性的 NamedNodeMap。

52、DOM怎么在指定的已有的子节点之前插入新节点?

解答:element.insertBefore()

53、DOM中如何替换元素中的子节点?

解答:element.replaceChild()

54、html标签设置属性的两种方式?

解答:a、通过元素element.属性的方式    b、通过element.setAttribute的形式

55、我们要想操作标签的全部,包括元素节点,属性节点,和文本节点,我们应该怎么做?

解答:一个标签,style可以操作样式,innerHTML可以操作内容,属性节点可以操作属性

56、dom中的子节点用什么英文单词表示?

解答:childNode

57、dom中的子元素节点用什么英文单词表示?

解答:child

 

HTML中DOM核心知识有哪些(带实例超详解)的更多相关文章

  1. Java核心知识体系3:异常机制详解

    1 什么是异常 异常是指程序在运行过程中发生的,由于外部问题导致的运行异常事件,如:文件找不到.网络连接失败.空指针.非法参数等. 异常是一个事件,它发生在程序运行期间,且中断程序的运行. Java ...

  2. Java核心知识体系2:注解机制详解

    1 Java注解基础 注解是JDK1.5版本开始引入的一个特性,用于对程序代码的说明,可以对包.类.接口.字段.方法参数.局部变量等进行注解. 它主要的作用有以下四方面: 生成javadoc文档,通过 ...

  3. js的dom对象(带实例超详细全解)

    js的dom对象(带实例超详细全解) 一.总结 一句话总结: 1.DOM中的方法区分大小写么? 解答:区分 2.DOM中元素和节点的关系式什么? 解答:元素就是标签,节点中有元素节点,也是标签,节点中 ...

  4. ArcGIS中的北京54和西安80投影坐标系详解

    ArcGIS中的北京54和西安80投影坐标系详解 1.首先理解地理坐标系(Geographic coordinate system),Geographic coordinate system直译为地理 ...

  5. JUC中的AQS底层详细超详解

    摘要:当你使用java实现一个线程同步的对象时,一定会包含一个问题:你该如何保证多个线程访问该对象时,正确地进行阻塞等待,正确地被唤醒? 本文分享自华为云社区<JUC中的AQS底层详细超详解,剖 ...

  6. jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解

    jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解 jQuery中操纵元素属性的方法: attr(): 读或者写匹配元素的属性值. removeAttr(): 从匹配的 ...

  7. Nginx服务器中配置非80端口的端口转发方法详解

    这篇文章主要介绍了Nginx服务器中配置非80端口的端口转发方法详解,文中使用到了Nginx中的proxy_pass配置项,需要的朋友可以参考下 nginx可以很方便的配置成反向代理服务器: 1 2 ...

  8. 配置tomcat服务器内存大小中的Xms、Xmx、PermSize、MaxPermSize 详解

    1.参数的含义 -vmargs -Xms256m -Xmx512m -XX:PermSize=256M -XX:MaxPermSize=512M -vmargs 说明后面是VM的参数,所以后面的其实都 ...

  9. Linux自带神器logrotate详解

    Linux自带神器logrotate详解 散尽浮华 运维 3天前   作者:散尽浮华 链接:https://www.cnblogs.com/kevingrace/p/6307298.html 对于 L ...

随机推荐

  1. phoenixframe自己主动化平台在Linux环境下运行用例的说明

    phoenixframe自己主动化平台支持在Linux环境下使用phantomjs,Firefox.chrome运行測试用例.但有下面几个问题须要注意: 1.若无法启动phantomjs,Firefo ...

  2. 利用Socket进行大文件传输

    分类: WINDOWS 最近接触到利用socket进行大文件传输的技术,有些心得,与大家分享.首先看看这个过程是怎么进行的(如下图):      所以,我们需要三个socket在窗体加载的时候初始化: ...

  3. Log4j 2使用教程 分类: B1_JAVA 2014-07-01 12:26 314人阅读 评论(0) 收藏

    转载自 Blog of 天外的星星: http://www.cnblogs.com/leo-lsw/p/log4j2tutorial.html Log4j 2的好处就不和大家说了,如果你搜了2,说明你 ...

  4. 微信支付v2开发(6) 发货通知

    本文介绍微信支付中发货通知功能的实现. 一.发货通知 为了更好地跟踪订单的情况,需要第三方在收到最终支付通知之后,调用发货通知API告知微信后台该订单的发货状态. 发货时间限制:虚拟.服务类24小时内 ...

  5. javascript的组成

    ECMAScript:(3/5/6/7) 它是JS语言的标准,规定了JS的编程语法和基础核心知识. DOM:document object model 文档对象模型,提供给JS很多的操作页面中元素的属 ...

  6. Java 学习(18):Java 序列化& 网络编程& 发送邮件

    --Java 序列化 -- 网络编程 -- 发送邮件 Java 序列化 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据.有关对象的类型的信 ...

  7. Spring Boot 动态数据源(Spring 注解数据源)

    本文实现案例场景:某系统除了需要从自己的主要数据库上读取和管理数据外,还有一部分业务涉及到其他多个数据库,要求可以在任何方法上可以灵活指定具体要操作的数据库. 为了在开发中以最简单的方法使用,本文基于 ...

  8. SpringMVC响应Ajax请求(@Responsebody注解返回页面)

    项目需求描述:page1中的ajax请求Controller,Controller负责将service返回的数据填充到page2中,并将page2整个页面返回到page1中ajax的回调函数. 一句话 ...

  9. CNTK 搞深度学习-1

    CNTK 搞深度学习 Computational Network Toolkit (CNTK) 是微软出品的开源深度学习工具包.本文介绍CNTK的基本内容,如何写CNTK的网络定义语言,以及跑通一个简 ...

  10. jQuery笔记---选择器

    查找API,jQuery选择器,定位标签 1.基本选择器 id定位标签 class属性定位标签 标签名定位标签 2.举例 <html> <head> <meta http ...