Home > Article > Web Front-end > what is html dom
1. Introduction to DOM
1. Introduction to DOM
DOM refers to the document object model, which is a document object specifically suitable for HTML/XHTML Model. If you are a software developer, then you can think of it as the API of a web page. DOM treats each element in the web page as an object, so that the elements in the web page can also be obtained or edited by computer language. For example, JavaScript can use DOM to dynamically modify the web page.
1.2. Classification of DOM according to operation objects
According to different operation objects, it can be divided into Core DOM, XML DOM and HTML DOM.
Core Dom: Core Dom, the standard model for any structured document.
XML DOM: Standard model for XML documents, operating on XML elements.
HTML DOM: Standard model for HTML documents, operating on HTML elements.
1.3. DOM functions
① Query an element
② Query the ancestors, brothers and descendants of an element
③ Obtain and modify elements Attributes
④ Obtain and modify the content of elements
⑤ Create, insert and delete elements
2. DOM nodes
All contents in the document are It can be represented as a node. For example, in HTML, the entire document, each tag, the attributes and text of each tag can be used as a node.
2.1. Node classification
① Document node (Document): the entire XML and HTML document
② Element node (Element): each XML and HTML element
③ Attribute node (Attr): Attributes of each XML and HTML element
④ Text node (Text): Text within each XML and HTML element
⑤ Comment node ( Comment): Each comment
Note: The Document node here is a general term, which can be divided into XMLDocument and HTMLDocument. Similarly, Element can also be divided into XMLElement and HTMLElement.
2.2. HTML DOM node hierarchy
Nodes have hierarchical relationships with each other: parent node, sibling node, child node, etc.
(1) Example:
Convert HTML document to HTML DOM node tree
(2) Example graph analysis
1) The parent node of the
element and the element is the element.2) The
element and the element are sibling nodes.3) The
3. HTML DOM node attributes
Introduces HTML DOM node attributes, such as: innerHTML, innerText, nodeName, nodeValue and nodeType, etc.
3.1. innerHTML: Get or set the content of the node in HTML code format
Description: When assigned to the innerHTML attribute in HTML format, it will be presented in the form of HTML. For example: node.innerHTML="" will display a button.
Example:
document.getElementById('div').innerHTML="<input type='button' value='按钮' />"; // 设置div元素的innerHTML为一个按钮 document.getElementById('div').innerHTML; // => <input type='button' value='按钮' /> :以HTML格式返回节点的内容##3.2, innerText: Get or set the text content of the nodeDescription: Get it in the form of a text string Or set the content of the node. Example 1:Assigning HTML format content will be displayed as a string "". Example 2: When obtaining content, only the text content will be obtained.
document.getElementById('div').innerText; // => "文本1 文本2"3.3. nodeName: Get the node name, read-only attribute Description: (Learning video sharing:
html video tutorial)
Example:console.log( document.nodeName ); // => #document:文档节点 console.log( document.body.nodeName ); // => BODY:元素节点 console.log( document.getElementById('div').nodeName ); // => DIV:元素节点 console.log( document.getElementById('div').attributes.style.nodeName ); // => style:属性节点3.4, nodeValue: Get or set the value of the nodeDescription: Document node , element node this property returns null and is read-only. Example:
console.log( document.nodeValue ); // => null:文档节点 console.log( document.body.nodeValue ); // => null:元素节点 console.log( document.getElementById('div').nodeValue ); // => null:元素节点 console.log( document.getElementById('div').attributes.style.nodeValue ); // => width:200px;height:100px;border:1px solid black;:style属性的值 document.getElementById('div').attributes.style.nodeValue = ' width:200px;height:200px'; // 设置style属性的值3.5, nodeType: Returns the node type, read-only attribute
Description: Example:
console.log( document.nodeType ); // => 9:文档节点 console.log( document.body.nodeType ); // => 1:元素节点 console.log( document.getElementById('div').nodeType ); // => 1:元素节点 console.log( document.getElementById('div').attributes.style.nodeType ); // => 2:属性节点4. Get HTML element node method
文档节点(document)、元素节点可以通过getElementById、getElementsByName、getElementsByClassName以及getElementsByTagName方法获取元素节点。
4.1、getElementById(id) :获取指定ID的元素
参数:
①id {string} :元素ID。
返回值:
{HtmlElement} 元素节点对象。若没有找到,返回null。
注意:
① HTML元素ID是区分大小写的。
② 若没有找到指定ID的元素,返回null。
③ 若一个父节点下面有多个相同ID元素时,默认选取第一个(而不是层级最高的)。
示例:
document.getElementById('div'); // => 获取ID为div的元素
4.2、getElementsByName(name) :返回一个包含指定name名称的的元素数组
参数:
① name {string} :name名称。
返回值:
{Array} 符合条件的元素数组。若没有找到符合条件的,返回空数组。
示例:
document.getElementsByName('Btn'); // 返回一个name为btn的元素数组
4.3、getElementsByClassName(className) :返回一个包含指定class名称的的元素数组
参数:
① className {string} :class名称。
返回值:
{Array} 符合条件的元素数组。若没有找到符合条件的,返回空数组。
示例:
document.getElementsByClassName('show'); // 返回一个class包含show的元素数组
4.4、getElementsByTagName(elementName) :返回一个指定标签名称的的元素数组
参数:
① elementName {string} :标签名称。如:div、a等等
返回值:
{Array} 符合条件的元素数组。若没有找到符合条件的,返回空数组。
示例:
document.getElementsByTagName('div'); // 返回一个标签为div的元素数组
相关推荐:html教程
The above is the detailed content of what is html dom. For more information, please follow other related articles on the PHP Chinese website!