恶补web之七:html DOM知识
html DOM定义了访问和操作html文档的标准;dom是w3c的标准,dom定义了访问html和xml文档的标准:
w3c文档对象模型(dom)是中立平台和语言的接口,它允许程序和脚本动态访问和更新文档内容,结构和样式.
dom标准被分为3个不同部分:
1.核心dom - 针对任何结构化文档的标准模型
2.xml dom - 针对xml文档的标准模型
3.html dom - 针对html文档的标准模型
xml dom定义了xml元素对象和属性,以及访问它们的方法
html dom定义了所有html元素的对象和属性,以及访问它们的方法,换言之,html dom是关于如何获取,修改,添加或删除html元素的标准.
html dom中,所有事物都是节点,dom被视为节点树的html.根据w3c的dom标准,html文档中所有内容都是节点:
1.整个文档是一个文档节点
2.每个html元素是元素节点
3.html元素内的文本是文本节点
4.每个html属性是属性节点
5.注释是注释节点
html dom将html文档视作树结构,这种结构被称为节点树,通过dom,树中所有节点均可通过js访问,所有节点元素均可被修改,也可创建或删除节点.
节点树中的节点彼此拥有层级关系:父,子,同胞等:
1.节点树中,顶端节点称为根
2.每个节点有父节点,除了根
3.一个节点可拥有任意数量的子
4.同胞是拥有相同父节点的节点
dom处理中常见错误是希望元素节点包含文本.
方法是我们可以在节点(html元素)上执行的动作.以下是常用的dom对象方法:
getElementById()方法返回带有指定id的元素
appendChild(node) 插入新的子节点
removeChild(node)删除子节点
下面是常用的dom属性:
innerHTML 节点的文本值
parentNode 节点的父节点
firstChild和lastChild 不用解释吧
childNodes 节点的子节点
attributes 节点的属性节点
length属性定义节点列表中节点的数量
getElementsByTagName 返回带有指定标签的所有元素:
var x = document.getElementsByTagName("p"); 选取文档中的所有<p>节点.可以通过下标访问这些节点比如访问第二个节点:item = x[1];
getElementsByClassName 返回相同类名的所有html元素
html dom允许你在事件发生时执行代码
如果删除html元素,必须清楚该元素的父元素
html dom允许用js向html元素分配事件:
document.getElementById("id").onclick = function(){displayDate()};
以上代码将displayDate函数分配给了id为'id'的html元素的onclick回调.
当用户进入或离开页面时,会触发onload和onunload事件;
onchange事件可以用于输入字段的验证
onmouseover和onmouseout可用于在鼠标指针移动到或离开元素时触发函数;
onmousedown,onmouseup以及onclick事件是鼠标点击全部过程,鼠标按钮点击时触发onmousedown事件,当鼠标松开时触发onmouseup事件,最后当鼠标完成点击时,触发onclick事件.
document.documentElement - 全部文档
document.body - 文档主体
恶补web之七:html DOM知识的更多相关文章
- 恶补web之二:css知识(3)
css有3种定位机制:普通流,浮动和绝对定位. 除非专门指定,否则所有框都在普通流中定位,即普通流中的元素位置由元素在(x)html中的位置决定. 通过使用position属性,可以选择4种不同类型的 ...
- 恶补web之二:css知识(2)
css字体属性定义文本的字体系列,大小,加粗,风格和变形等. css中包含两种字体系列:通用字体系列和特定字体系列. font-family属性定义文本的字体系列: body {font-family ...
- 恶补web之二:css知识(1)
css指层叠样式表(Cascading Style Sheets) 样式定义如何显示html元素,样式通常存储在样式表里.把样式添加到html4.0中,是为了解决内容与表现分离的问题.外部样式 ...
- 恶补web之一:html学习(1)
发现以前欠下的web知识太多鸟,只有重头开始好好学吧,恶补第一站就是html知识啦! html指的是超文本标记语言,它不是编程语言,而是一种标记语言;标记语言是一套标记标签(markup tag),h ...
- 恶补web之六:javascript知识(2)
若要向html添加新元素,必须首先创建该元素,然后向一个已存在的元素追加该元素 <div id="div1"> <p id="p1">这 ...
- 恶补web之六:javascript知识(1)
javascript(下称js)是一种轻量级编程语言,它可以插入html页面然后由浏览器执行. document.write("<h1>...</h1>") ...
- 恶补web之八:jQuery(3)
jquery和其他js框架.jQuery使用$作为jQuery的简写,但是还有很多js框架,比如: MooTools,Backbone,Sammy,Cappuccino,Knockout,JavaSc ...
- 恶补web之八:jQuery(2)
jquery中非常重要的部分,就是操作dom的能力: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括html标记) val() - 设置或返回表单字段 ...
- 恶补web之五:dhtml学习
dhtml是一种使html页面具有动态特性的艺术.对于多数人来说dhtml意味着html(html DOM),样式表和javascript的组合. dhtml不是w3c标准.dhtml指动态html, ...
随机推荐
- adb -s 设备名 设备名还有非法字符
当有多台安卓设备在同一电脑上时 想敲adb控制某一个设备 需要如下格式 adb -s 设备名 设备名 可以用adb devices获取 当发现adb devices 获取的名字是特别长而且含有非法字符 ...
- 【一天一道LeetCode】#344. Reverse String
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Write a ...
- 程序员高效Windows环境配置
个人比较追求高效.效率.以下是我常用的windows配置希望对大家有帮助.(身为程序员,我特别喜欢mac pro的retina屏,在那编程简直是一种享受.等我买了mac pro在发一篇 ...
- 如何在Cocos2D游戏中实现A*寻路算法(六)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- iOS中 蓝牙2.0详解/ios蓝牙设备详解 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博 整体布局如下: 程序结构如右图: 每日更新关注:http://weibo.com/hanjunqiang ...
- Spark1.4从HDFS读取文件运行Java语言WordCounts
Hadoop:2.4.0 Spark:1.4.0 Ubuntu 14.0 1.首先启动Hadoop的HDFS系统. HADOOP_HOME/sbin/start-dfs.sh 2.在Linux ...
- html倒计时代码
<SPAN id=span_dt_dt></SPAN> <SCRIPT language=javascript> <!-- //document.write( ...
- iOS中 KVO 键值观察者
KVO Key-Value-Obsever 键值观察者 1.首先要有一个观察者,此时被观察者是自己找一个观察者观察自己的key值对应的value值有没有改变,如果改变了就可以做一些响应的操作 创建一个 ...
- javascript之DOM编程改变CSS样式(简易验证码显示)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 开始ITGEGE教育社区的视频录制----嵌入式基础知识讲解
从8月份开始,陆陆续续要对我的第一份兼职工作ITGEGE讲师做教学视频录制了,本人水平有限,我只讲一些开发在工作中的应用,其它细节的东西不做深究,毕竟本人工作经验和精力也有限,白天要上班,特别是最近又 ...