HTML DOM方法
来源:互联网 发布:拼多多商城源码 编辑:程序博客网 时间:2024/06/05 20:06
一些 DOM 对象方法
这里提供一些您将在本教程中学到的常用方法:
nodeType 属性
nodeType 属性返回节点的类型。nodeType 是只读的。
比较重要的节点类型有:
HTML DOM 节点树
HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树:
HTML DOM Tree 实例
节点父、子和同胞
节点树中的节点彼此拥有层级关系。
父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
- 在节点树中,顶端节点被称为根(root)
- 每个节点都有父节点、除了根(它没有父节点)
- 一个节点可拥有任意数量的子
- 同胞是拥有相同父节点的节点
下面的图片展示了节点树的一部分,以及节点之间的关系:
请看下面的 HTML 片段:
<html> <head> <title>DOM 教程</title> </head> <body> <h1>DOM 第一课</h1> <p>Hello world!</p> </body></html>
从上面的 HTML 中:
- <html> 节点没有父节点;它是根节点
- <head> 和 <body> 的父节点是 <html> 节点
- 文本节点 "Hello world!" 的父节点是 <p> 节点
并且:
- <html> 节点拥有两个子节点:<head> 和 <body>
- <head> 节点拥有一个子节点:<title> 节点
- <title> 节点也拥有一个子节点:文本节点 "DOM 教程"
- <h1> 和 <p> 节点是同胞节点,同时也是 <body> 的子节点
并且:
- <head> 元素是 <html> 元素的首个子节点
- <body> 元素是 <html> 元素的最后一个子节点
- <h1> 元素是 <body> 元素的首个子节点
- <p> 元素是 <body> 元素的最后一个子节点
警告!
DOM 处理中的常见错误是希望元素节点包含文本。
在本例中:<title>DOM 教程</title>,元素节点 <title>,包含值为 "DOM 教程" 的文本节点。
可通过节点的 innerHTML 属性来访问文本节点的值。
您将在稍后的章节中学习更多有关 innerHTML 属性的知识。
<html><head><title>Skip Blanks String</title><script type="text/javaScript">//忽略空白字符串function SkipBlanksString(element){var ret = [];for(var i=0; i<element.length; i++){ if(element[i].nodeType === 3 && /^\s+$/.test(element[i].nodeValue)){ continue;} else { ret.push(element[i]);}}return ret;};//删除空白字符function RemoveSkipString(element){ for(var i=0; i<element.length; i++){ if(element[i].nodeType === 3 && /^\s+$/.test(element[i].nodeValue)){ element[i].parentNode.removeChild(element[i]);}}return element;};window.onload = function (){var box = document.getElementById('box');alert(RemoveSkipString(box.childNodes).length); //返回数量3alert(SkipBlanksString(box.childNodes).length); //返回数量3};</script></head><body><div id="box"><p id="p1">hello world!</p>Fuck You!<p>this is the last line</p></div></body></html>
<html><head><meta charset="UTF-8"><title>Skip Blanks String</title><script type="text/javaScript">//删除空白字符function Rst(node){ for(var i=0; i<node.length; i++){ if(node[i].nodeType === 3 && /^\s+$/.test(node[i].nodeValue)){ node[i].parentNode.removeChild(node[i]);}}return node;};window.onload = function (){ var box = document.getElementById('box'); var Skip = Rst(box.childNodes); //删除所有空白字符var createD = document.createElement('div'); //创建元素节点<div></div>for(var i=0; i<Skip.length; i++){ var createP = document.createElement('p'); //创建元素节点 <p></p>var Str ='';if(Skip[i].nodeType === 1){ Str = Skip[i].innerHTML; //如果是“元素节点”输出innerHTML 赋值给 Str} else { Str = Skip[i].nodeValue; //如果是“文本节点”输出nodeValue 赋值给 Str};var createT = document.createTextNode(Str); //创建文本节点createP.appendChild(createT); //把文本节点添加到P元素下box.parentNode.appendChild(createD).appendChild(createP); //添加DIV标签,再DIV下添加子节点P标签};};</script></head><body><div id="box"><p id="p1">hello world!</p><span>Fuck You....</span>激光电波,毕.........<p>this is the last line</p></div></body></html>
<html><head><meta charset="UTF-8"><title>2016年1月9日 23:35:52</title><script type="text/JavaScript">function evening(){ var Col = document.body.style;Col.backgroundColor ="blue";};function nooning(){ var Col = document.body.style;Col.backgroundColor ="lavender"};winDow.onload = function(){ };</script></head><body><button type="button" onclick="var i=0; setInterval(function(){document.body.innerHTML=i++},500);">Hello world!</button><input type="button" onclick="setInterval(evening,500)" value="This is the button" /><button type="button" onclick="setInterval(nooning,1000)">This is the third</button></body></html>
0 0
- 常用DOM\HTML-DOM方法
- HTML DOM deleteRow() 方法
- HTML DOM deleteRow() 方法
- HTML DOM setTimeout() 方法
- HTML DOM getElementsByTagName() 方法
- HTML DOM open() 方法
- HTML DOM Document 方法
- HTML DOM confirm() 方法
- HTML DOM setInterval() 方法
- HTML DOM getElementsByTagName() 方法
- HTML DOM insertCell() 方法
- HTML DOM 方法属性
- HTML DOM focus() 方法
- HTML DOM open() 方法
- HTML DOM submit() 方法
- HTML DOM setInterval() 方法
- HTML DOM addEventListener() 方法
- HTML DOM getElementsByTagName() 方法
- hdu1426 Sudoku Killer(数独游戏)--DFS
- windows下,怎么使用管理员运行cmd.exe程序。
- DICOM:docker实现DICOM服务虚拟化之“数据卷”
- XPath 语法
- Debian/Ubuntu 安装chrome
- HTML DOM方法
- Codeforces Round #337 (Div. 2) 610D Vika and Segments(线段树)
- PHP单双引号的关系与区别
- Android名片识别
- Android绘图(三)
- Redis整合Spring结合使用缓存实例
- 为什么你的项目总是延期?
- uva10716
- 中国剩余定理