如下JavaScript代码,通过document对象,遍历HTML所有元素(HTML DOM Element )。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <head> <script> function displayallelem(){ var elems = document.getElementsByTagName("*"); for(var i=0;iif (elems[i].hasAttribute("id")){
tmp = elems[i].id + ", fieldtype = " + elems[i].getAttribute("fieldtype") + "元素类型=" + elems[i].nodeName;
alert(tmp);
}
}
} script> head> <body> <h1>表单元素遍历测试 JavaScripth1> <p id="demo" fieldtype="test">This is a paragraph.p> <div> <input id="name" fieldtype="char">名称input><br> 通过自定义属性“fieldtype”来定义数据类型。<br> <input id="old" fieldtype="number" value="42">年龄input><br> <button id="test" type="button" onclick="displayallelem()">Display Elementbutton> div> body> html>
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
注:代码解释
(1).hasAttribute(“id”),判断是否存在“id”属性,如果存在指定属性,则 hasAttribute() 方法返回 true,否则返回 false;
(2).id,返回元素的 id;
(3).getAttribute(“fieldtype”),返回元素节点的指定属性值。
通过上述代码,引申思考:
-
在定义表单时,直接通过对元素的属性,定义表单数据项关键信息,例如数据类型;
-
通过遍历表单,获取表单设计定义,及其业务数据值,直接把二者转换为BSON类型存储高MongoDB中;
-
展现或编辑时,把表单设计定义为模版,回写设置数据内容即可。
以下内容为参考W3School 提供。
HTML DOM Document 对象
Document 对象
每个载入浏览器的 HTML 文档都会成为 Document 对象。
Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。
提示:Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问。
HTML DOM getElementsByTagName() 方法
getElementsByTagName() 方法可返回带有指定标签名的对象的集合。
document.getElementsByTagName(tagname)
getElementsByTagName() 方法返回元素的顺序是它们在文档中的顺序。
如果把特殊字符串 “*” 传递给 getElementsByTagName() 方法,它将返回文档中所有元素的列表,元素排列的顺序就是它们在文档中的顺序。
HTML DOM Element 对象
HTML DOM 节点
在 HTML DOM (文档对象模型)中,每个部分都是节点:
-
文档本身是文档节点
-
所有 HTML 元素是元素节点
-
所有 HTML 属性是属性节点
-
HTML 元素内的文本是文本节点
-
注释是注释节点
Element 对象
-
在 HTML DOM 中,Element 对象表示 HTML 元素。
-
Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。
-
NodeList 对象表示节点列表,比如 HTML 元素的子节点集合。
-
元素也可以拥有属性。属性是属性节点
HTML DOM nodeType 属性
对于每种节点类型,nodeName 和 nodeValue 属性的返回值:
|
序号
|
节点类型
|
nodeName返回
|
nodeValue返回
|
|
1
|
Element
|
元素名
|
null
|
|
2
|
Attr
|
属性名称
|
属性值
|
|
3
|
Text
|
text
|
节点的内容
|
|
4
|
CDATASection
|
cdata-section
|
节点的内容
|
|
5
|
EntityReference
|
实体引用名称
|
null
|
|
6
|
Entity
|
实体名称
|
null
|
|
7
|
ProcessingInstruction
|
target
|
节点的内容
|
|
8
|
Comment
|
comment
|
注释文本
|
|
9
|
Document
|
document
|
null
|
|
10
|
DocumentType
|
文档类型名称
|
null
|
|
11
|
DocumentFragment
|
document 片段
|
null
|
|
12
|
Notation
|
符号名称
|
null
|
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30257211/viewspace-1667797/
,如需转载,请注明出处,否则将追究法律责任。