`
mowengaobo
  • 浏览: 164225 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

document.createElement等DOM函数与属性(转)

    博客分类:
  • js
阅读更多

1、创建节点
createElement()
var node = document.createElement(“div”);
没什么可说的,创建一个元素节点,但注意,这个节点不会被自动添加到文档(document)里。

2、创建文本节点
createTextNode()
var value = document.createTextNode(“text”);
创建一个文本节点,常用来往元素节点里添加内容,也不会自动添加到文档里。
很多人知道innerHTML,不知道这个方法,这个添加的是静态文本,如果插入的内容不带HTML格式,用createTextNode比innerHTML安全,而innerText又有浏览器不兼容的问题,因此用createTextNode很好使。

3、插入节点到最后
appendChild()
node.appendChild(value);
将节点插入到最后,上面两个创建的节点不会自动添加到文档里,所以就要使appendChild来插入了。
如果是新的节点是插入到最后,而如果是已经存在的节点则是移动到最后,这点很多人注意不到,理解了这点,再和下面的方法结合,可以方便的移动操作节点。

4、插入节点到目标节点的前面
insertBefore()
var node = document.createElement(“div”);
var _p = document.createElement(“p”);
var _span = document.createElement(“span”);
node.appendChild(_p);
node.insertBefore(_span, _p);
<span>节点在<p>节点前面插入,其中第二个参数是可选,如果第二个参数不写,将默认添加到文档的最后,相当于appendChild。
同样,appendChild和insertBefore,如果是已存在节点,他们都会自动先删除原节点,然后移动到你指定的地方。
将节点移动到最前面的技巧:
if (node.parentNode.firstChild) node.parentNode.insertBefore(node, node.parentNode.firstChild);
else node.parentNode.appendChild(node);

5、复制节点
cloneNode(boolean)
node.cloneNode(true);
node.cloneNode(false);
复制上面的div节点,参数true,复制整个节点和里面的内容;false,只复制节点不要里面的内容,复制后的新节点,也不会被自动插入到文档,需要用到3和4的方法去插入。

6、删除节点
removeChild()
node.removeChild(_p);
把上面的<p>节点从<div>里删除。不过一般情况下,不知道要删除的节点的父节点是什么,因此一般这么使:node.parentNode.removeChild(node);

7、替换节点
repalceChild(newNode, oldNode)
node.repalceChild(_p, _span);
把上面的<span>节点替换成<p>节点,注意无论是<span>还是<p>,都必须是<div>的子节点,或是一个新的节点。

8、设置节点属性
setAttribute()
node.setAttribute("title","abc");
不解释了,很容易明白。就说一句,用这个方法设置节点属性兼容好,但class属性不能这么设置。

9、获取节点属性
getAttribute()
node.getAttribute("title");
同8,获取节点属性。

10、判断元素是否有子节点
hasChildNodes
node.hasChildNodes;
返回boolean类型,因此将新节点插入到最前面的技巧:
var node = document.createElement(“div”);
var newNode = document.createElement(“p”);
if (node.hasChildNodes) node.insertBefore(newNode, node.firstChild);
else node.appendChild(node);

最后是DOM的属性:

nodeName - 节点的名字;
nodeType - 返回一个整数,代表这个节点的类型,1-元素节点,2-属性节点,3-文本节点;
nodeValue - 返回一个字符串,这个节点的值;
childNodes - 返回一个数组,数组由元素节点的子节点构成;
firstChild - 返回第一个子节点;
lastChild - 返回最后一个子节点;
nextSibling - 返回目标节点的下一个兄弟节点,如果目标节点后面没有同属于一个父节点的节点,返回null;
previousSibling - 返回目标节点的前一个兄弟节点,如果目标节点前面没有同属于一个父节点的节点,返回null;
parentNode - 返回的节点永远是一个元素节点,因为只有元素节点才有可能有子节点,document节点将返回null;

分享到:
评论

相关推荐

    javascript中createElement的两种创建方式.docx

    本文将详细介绍JavaScript中利用`createElement`创建DOM元素的两种常见方式,并探讨它们之间的区别与应用场景。 #### 一、`createElement`基本概念 `createElement`是`Document`对象的一个方法,用于创建一个指定...

    document.createElement()用法及注意事项(ff下不兼容)

    `document.createElement()` 是JavaScript中用于动态创建HTML元素的函数,它是DOM操作的重要组成部分。通过调用此函数,我们可以创建任何HTML元素并将其插入到页面中。然而,由于浏览器之间的差异,尤其是IE和Fire...

    XML-DOM.rar_DOM

    5. **DOM加载与解析**:在JavaScript中,可以使用`document.createElement()`和`document.createTextNode()`等方法动态创建DOM树,也可以使用`XMLHttpRequest`或`fetch`异步加载XML文件,然后使用`DOMParser`解析为...

    docrel更好用的documentcreateElement方法

    在JavaScript的世界里,`document.createElement`是一个非常基础且重要的函数,用于在DOM(Document Object Model)中创建新的HTML元素。然而,随着Web开发的不断进步,开发者们有时会需要更高级、更灵活的功能来...

    jsxtodocumentcreateElement

    然而,在某些情况下,我们可能需要将JSX转换为`document.createElement`这样的原生JavaScript DOM操作。这是因为不是所有环境都支持JSX,例如在浏览器的控制台或者不使用构建工具的环境中。本篇将深入探讨如何进行...

    javascript 的Document属性和方法集合

    - `document.location`: 提供了与当前页面URL相关的属性和方法。 - `document.location.hash`: 获取或设置URL中#号后面的部分,常用于锚点定位。 - `document.location.host`: 包含域名和端口号。 - `document....

    Web APIs-Dom获取&属性操作(理论+实战篇)-获取随机图片案例资料

    此外,还可以学习更高级的DOM操作,比如事件监听、元素的创建与插入、遍历DOM树等。事件监听如: ```javascript myButton.addEventListener('click', function() { // 执行点击事件的处理函数 }); ``` 元素的创建与...

    javascript dom

    4. **DOM创建与插入**:可以使用`document.createElement()`创建新的元素,然后通过`appendChild()`、`insertBefore()`等方法将其插入到DOM树中。相反,`removeChild()`则用于删除元素。 5. **DOM遍历**:`...

    xml.rar_DOM_XML DOM_dom xml_xml

    DOM(Document Object Model)是W3C组织定义的一种标准,它为XML文档提供了一个结构化的表示,并允许编程语言与XML文档进行交互。DOM的核心思想是将XML文档解析为一个树形结构,其中每个节点代表XML文档的一个部分,...

    js动态创建table点击按钮dom table tr添加操作

    2. **创建表格元素**:使用`document.createElement()`函数创建`&lt;table&gt;`元素。 ```javascript const table = document.createElement('table'); ``` 3. **创建表头(thead)和表体(tbody)**:对于有列名的...

    javascript转换字符串为dom对象(字符串动态创建dom).docx

    在 JavaScript 中,动态创建标准的 DOM 对象通常使用 `var obj = document.createElement('div');`,然后再给 `obj` 设置一些属性。但是,在实际使用过程中,有些人可能会想,要是能这样创建标准的 DOM 对象就好了伪...

    DOCUMENT的对象操作

    这个对象提供了很多方法和属性,允许我们对网页进行各种操作,如访问和修改元素、处理事件、读取和设置文档属性等。下面将详细讨论`document`对象的一些关键知识点。 1. **对象属性**: - `document.title`: 用于...

    javascript - dom

    DOM将整个网页视为一棵树形结构,其中每个元素都是树上的一个节点,包括HTML标签、文本内容、属性等。通过JavaScript,我们可以选择这些节点,修改它们的属性,添加或删除子节点,甚至可以动态改变页面内容。 在...

    javascript 的document对象

    在实际开发中,`document`对象的使用非常广泛,包括但不限于页面元素的操作、事件监听、DOM树的构建和修改等。随着Web技术的发展,很多早期的属性和方法已被CSS和DOM API取代,因此了解和使用现代标准的方法是至关...

    Javascript Dom编程艺术 源代码(全)

    2. **获取元素**:使用`document.getElementById()`、`document.getElementsByTagName()`、`document.querySelector()`和`document.querySelectorAll()`等方法可以检索特定的DOM元素。例如,`getElementById`用于...

    javascript动态创建及删除元素的方法.docx

    DOM(Document Object Model)是一种允许程序和脚本动态访问和更新文档内容、结构和样式的标准编程接口。通过 DOM,开发者可以在不重载页面的情况下更改 HTML 或 XML 文档中的内容。这对于提高用户体验和网站性能至...

    JavaScrpt DOMscripting编程艺术

    10. **创建新元素**:使用`document.createElement()`创建新的DOM元素,然后使用`appendChild()`将其添加到DOM树中。 11. **表单处理**:DOM脚本可以用于验证表单数据,控制表单提交,以及动态修改表单元素的可见性...

    Javascript函数大全.docx

    JavaScript 函数大全主要涵盖了一系列用于操作和访问网页文档对象模型(DOM)的方法,这些方法允许开发者动态地修改页面内容、样式以及与用户交互的方式。在本文中,我们将深入探讨一些核心的JavaScript函数和对象,...

    react-ReactcreateElement和JSX替代语法糖

    React.createElement是React库提供的一种创建虚拟DOM(Document Object Model)节点的低级API。这个函数接受三个主要参数:组件类型(如字符串或函数组件),属性对象(包含组件的props),以及子元素(可以是其他...

Global site tag (gtag.js) - Google Analytics