document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法联合使用。其中,appendChild() 方法在节点的子节点列表末添加新的子节点。insertBefore() 方法在节点的子节点列表任意位置插入新的节点。
下面,举例说明document.createElement()的用法。<div id="board"></div>
例1:
<script type="text/javascript">
var board = document.getElementById("board");
var e = document.createElement("input");
e.type = "button";
e.value = "这是测试加载的小例子";
var object = board.appendChild(e);
</script>
效果:在标签board中加载一个按钮,属性值为“这是测试加载的小例子”。
例2:
<script type="text/javascript">
var board = document.getElementById("board");
var e2 = document.createElement("select");
e2.options[0] = new Option("加载项1", "");
e2.options[1] = new Option("加载项2", "");
e2.size = "2";
var object = board.appendChild(e2);
</script>
效果:在标签board中加载一个下拉列表框,属性值为“加载项1”和“加载项2”。
例3:
<script type="text/javascript">
var board = document.getElementById("board");
var e3 = document.createElement("input");
e4.setAttribute("type", "text");
e4.setAttribute("name", "q");
e4.setAttribute("value", "使用setAttribute");
e4.setAttribute("onclick", "javascript:alert('This is a test!');");
var object = board.appendChild(e3);
</script>
效果:在标签board中加载一个文本框,属性值为“使用setAttribute”。 当点击这个文本框时,会弹出对话框“This is a test!”。
根据上面例子,可以看出,可以通过加载对象的属性来设置,参数是相同的。使用e.type="text" 和 e.setAttribute("type","text")效果是一致的。
下面,我们用实例来讲述一下appendChild() 方法和insertBefore() 方法的不同。
比如我们要在下面这个div中插入一个子节点P时:<div id="test"><p id="x1">Node</p><p>Node</p></div>
我们可以这样写:
<script type="text/javascript">
var oTest = document.getElementById("test");
var newNode = document.createElement("p");
newNode.innerHTML = "This is a test";
//测试从这里开始
//appendChild方法:
oTest.appendChild(newNode);
//insertBefore方法:
oTest.insertBefore(newNode,null);
</script>
通过以上的代码,可以测试到一个新的节点被创建到了节点div下,且该节点是div最后一个节点。很明显,通过这个例子,可以知道appendChildhild和insertBefore都可以进行插入节点的操作。
在上面的例子中有这样一句代码:oTest.insertBefore(newNode,null) ,这里insertBefore有2个参数可以设置,第一个是和appendChild相同的,第二却是它特有的。它不仅可以为null,还可以为:
<script type="text/javascript">
var oTest = document.getElementById("test");
var refChild = document.getElementById("x1");
var newNode = document.createElement("p");
newNode.innerHTML = "This is a test";
oTest.insertBefore(newNode,refChild);
</script>
效果:这个例子将在x1节点前面插入一个新的节点
又或:
<script type="text/javascript">
var oTest = document.getElementById("test");
var refChild = document.getElementById("x1");
var newNode = document.createElement("p");
newNode.innerHTML = "This is a test";
oTest.insertBefore(newNode,refChild.nextSibling);
</script>
效果:这个例子将在x1节点的下一个节点前面插入一个新的节点
还可为:
<script type="text/javascript">
var oTest = document.getElementById("test");
var newNode = document.createElement("p");
newNode.innerHTML = "This is a test";
oTest.insertBefore(newNode,oTest.childNodes[0]);
</script>
这个例子将在第一子节点前面插入一个新的节点,也可以通过改变childNodes[0,1,...]来在其它位置插入新的节点
由于可见insertBefore()方法的特性是在已有的子节点前面插入新的节点,但例一中使用insertBefore()方法也可以在子节点列表末插入新节点的。两种情况结合起来,发现insertBefore()方法插入节点,是可以在子节点列表的任意位置。
从这几个例子中得出:
appendChild() 方法在节点的子节点列表末添加新的子节点。
insertBefore() 方法在节点的子节点列表任意位置插入新的节点。
分享到:
相关推荐
在JavaScript中,我们通常会使用`document.createElement`方法来动态创建`iframe`元素。然而,一个常见的问题是在Internet Explorer(IE)浏览器中,通过`document.createElement`创建的`iframe`元素无法设置`name`...
这段代码首先通过`document.createElement("form")`创建了一个新的表单元素,并设置了它的`action`属性为指定的URL(这里是"http://localhost:8080/test/user"),`method`属性为"post",表示我们要使用POST方法来...
此外,`document`对象还有许多其他属性和方法,如`document.forms`用于访问表单,`document.images`用于访问图像,以及`document.getElementsByName()`和`getElementsByTagName()`方法用于按名称或标签名查找元素。...
JavaScript 中 document 对象用法小结 JavaScript 中的 document 对象是一个非常重要的对象,它提供了大量的属性和方法来操作 HTML 文档。下面是对 document 对象的一些常用属性和方法的总结。 属性 1. `document...
通过`document.getElementById`或`document.querySelector`方法,我们可以选取特定的表单元素。例如,对于一个ID为`myForm`的表单,我们可以这样获取其内容: ```javascript var form = document.getElementById('...
本篇文章将详细讲解`document`对象的一些基础用法,包括直接和间接获取页面元素的方法。 1. **直接获取对象** - `getElementById()`:通过元素的ID获取特定元素。例如: ```javascript var element = document....
在给定的文件“document对象内容集合.txt”中,我们深入探讨了与DOM相关的多个知识点,包括其属性、方法以及如何通过JavaScript来操作DOM元素。 ### DOM基本概念 DOM是一种标准,用于表示和交互HTML或XML文档中的...
### JavaScript Document 对象详解 #### 一、Document 对象简介 在Web开发中,`document`对象是浏览器提供的一种能够操作HTML文档的方式。...掌握这些API的使用方法对于提高Web开发效率具有重要意义。
子窗体同样使用`document.createElement`方法创建,并设置相应的样式属性,如位置、大小、背景色等。这些样式属性确保子窗体能够在屏幕中央正确显示。 ##### 步骤三:添加表单元素 ```javascript var myform = ...
例如,我们可以使用`document.getElementById`来获取指定ID的元素,`document.createElement`来创建新的HTML元素,`document.appendChild`将新元素添加到现有元素的子节点中,以及`document.write`在文档加载时写入...
- **创建单元格**: 通过`document.createElement("td")`创建单元格元素`col1`和`col2`。 - **设置样式与内容**: 对单元格进行样式设置并填充内容。 - **添加到表格**: 最终将创建好的`row`添加到`tbody`中。 ##### ...
例如,`document.forms[0]`是第一个表单,`document.forms[i].elements[j]`是表单中的第j个控件。 在JavaScript中,我们还可以通过name属性直接引用元素,如`document.Myform.myctrl`引用名为`myctrl`的表单控件。 ...
在jQuery中,操作`document`对象通常更简洁,例如使用`$(document).ready()`来确保在页面加载完成后执行代码,或者使用`$("#id")`来选择具有特定ID的元素,这比原生JavaScript的`getElementById`更加方便。...
3. **创建和删除元素**:掌握动态创建新元素、插入到DOM树中,以及删除现有元素的方法,如`createElement`、`appendChild`、`removeChild`等。 4. **属性操作**:学习如何获取和修改元素的属性值,如`getAttribute`...
我们可以利用`document.createElement()`、`.appendChild()`等方法动态创建这些元素。 4. **数据驱动视图**:根据JSON数据的结构,我们需要遍历数据,为每一项生成对应的表格行。如果列数不固定,我们需要在开始...
- `document.forms`: 表示页面中所有`<form>`表单的集合,可以用来处理用户输入和表单提交。 对于`images`集合,可以通过索引或`name`属性来访问和修改图片。例如: - `document.images[0]`获取第一个`<img>`元素...
在大多数情况下,可以使用`setAttribute`方法,但对于IE浏览器,则需要使用`className`属性: ```javascript var element = document.getElementById('myElement'); // 非IE浏览器 element.setAttribute('class', ...
最后,`document.selection`对象在一些旧的浏览器中用于处理文本选择,但现代浏览器更多使用`window.getSelection()`方法来获取或设置用户在页面上选取的文本。 `document.images`是一个集合,包含了页面中所有的`...
例如,我们可以通过`document.getElementById()`方法获取特定ID的元素,通过`document.createElement()`创建新的元素,`document.write()`则可以在页面加载时写入HTML内容。 `Script56.CHM`文件可能是关于...
下面将详细介绍`document`对象的一些关键属性和方法。 1. **属性** - `document.title`: 该属性用于获取或设置当前文档的标题,相当于HTML中的`<title>`标签内容。 - `document.bgColor`: 这个属性已过时,但过去...