`

document.createElement 用法(增加表单)

阅读更多
    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() 方法在节点的子节点列表任意位置插入新的节点。
分享到:
评论

相关推荐

    IE中document.createElement的iframe无法设置属性name的解决方法

    在JavaScript中,我们通常会使用`document.createElement`方法来动态创建`iframe`元素。然而,一个常见的问题是在Internet Explorer(IE)浏览器中,通过`document.createElement`创建的`iframe`元素无法设置`name`...

    js动态生成form 并用ajax方式提交的实现方法

    这段代码首先通过`document.createElement("form")`创建了一个新的表单元素,并设置了它的`action`属性为指定的URL(这里是"http://localhost:8080/test/user"),`method`属性为"post",表示我们要使用POST方法来...

    JS的document_详细介绍及用法

    此外,`document`对象还有许多其他属性和方法,如`document.forms`用于访问表单,`document.images`用于访问图像,以及`document.getElementsByName()`和`getElementsByTagName()`方法用于按名称或标签名查找元素。...

    JavaScript中document用法小结

    JavaScript 中 document 对象用法小结 JavaScript 中的 document 对象是一个非常重要的对象,它提供了大量的属性和方法来操作 HTML 文档。下面是对 document 对象的一些常用属性和方法的总结。 属性 1. `document...

    获取表单内容差异,支持文本提示和表格展示

    通过`document.getElementById`或`document.querySelector`方法,我们可以选取特定的表单元素。例如,对于一个ID为`myForm`的表单,我们可以这样获取其内容: ```javascript var form = document.getElementById('...

    JS document对象简单用法完整示例

    本篇文章将详细讲解`document`对象的一些基础用法,包括直接和间接获取页面元素的方法。 1. **直接获取对象** - `getElementById()`:通过元素的ID获取特定元素。例如: ```javascript var element = document....

    document对象内容集合.txt

    在给定的文件“document对象内容集合.txt”中,我们深入探讨了与DOM相关的多个知识点,包括其属性、方法以及如何通过JavaScript来操作DOM元素。 ### DOM基本概念 DOM是一种标准,用于表示和交互HTML或XML文档中的...

    javascript document 对象的用法大全

    ### JavaScript Document 对象详解 #### 一、Document 对象简介 在Web开发中,`document`对象是浏览器提供的一种能够操作HTML文档的方式。...掌握这些API的使用方法对于提高Web开发效率具有重要意义。

    Jsp中生成模式窗体代码详解

    子窗体同样使用`document.createElement`方法创建,并设置相应的样式属性,如位置、大小、背景色等。这些样式属性确保子窗体能够在屏幕中央正确显示。 ##### 步骤三:添加表单元素 ```javascript var myform = ...

    javascript-document对象详解(下).zip

    例如,我们可以使用`document.getElementById`来获取指定ID的元素,`document.createElement`来创建新的HTML元素,`document.appendChild`将新元素添加到现有元素的子节点中,以及`document.write`在文档加载时写入...

    js动态生成表元素

    - **创建单元格**: 通过`document.createElement("td")`创建单元格元素`col1`和`col2`。 - **设置样式与内容**: 对单元格进行样式设置并填充内容。 - **添加到表格**: 最终将创建好的`row`添加到`tbody`中。 ##### ...

    javascript 常见脚本属性

    例如,`document.forms[0]`是第一个表单,`document.forms[i].elements[j]`是表单中的第j个控件。 在JavaScript中,我们还可以通过name属性直接引用元素,如`document.Myform.myctrl`引用名为`myctrl`的表单控件。 ...

    JQuery document详解大全

    在jQuery中,操作`document`对象通常更简洁,例如使用`$(document).ready()`来确保在页面加载完成后执行代码,或者使用`$("#id")`来选择具有特定ID的元素,这比原生JavaScript的`getElementById`更加方便。...

    DOM Scripting.Web.Design.with.JavaScript.and.the.Document.Object.Model(JavaScript DOM编程艺术)

    3. **创建和删除元素**:掌握动态创建新元素、插入到DOM树中,以及删除现有元素的方法,如`createElement`、`appendChild`、`removeChild`等。 4. **属性操作**:学习如何获取和修改元素的属性值,如`getAttribute`...

    js读取json数据动态生成列数不固定的表格

    我们可以利用`document.createElement()`、`.appendChild()`等方法动态创建这些元素。 4. **数据驱动视图**:根据JSON数据的结构,我们需要遍历数据,为每一项生成对应的表格行。如果列数不固定,我们需要在开始...

    nternetExplorer.Application对象的umen属性[文].pdf

    - `document.forms`: 表示页面中所有`&lt;form&gt;`表单的集合,可以用来处理用户输入和表单提交。 对于`images`集合,可以通过索引或`name`属性来访问和修改图片。例如: - `document.images[0]`获取第一个`&lt;img&gt;`元素...

    开发跨浏览器JavaScript时要注意的问题

    在大多数情况下,可以使用`setAttribute`方法,但对于IE浏览器,则需要使用`className`属性: ```javascript var element = document.getElementById('myElement'); // 非IE浏览器 element.setAttribute('class', ...

    Javascript函数大全.docx

    最后,`document.selection`对象在一些旧的浏览器中用于处理文本选择,但现代浏览器更多使用`window.getSelection()`方法来获取或设置用户在页面上选取的文本。 `document.images`是一个集合,包含了页面中所有的`...

    javascript document

    例如,我们可以通过`document.getElementById()`方法获取特定ID的元素,通过`document.createElement()`创建新的元素,`document.write()`则可以在页面加载时写入HTML内容。 `Script56.CHM`文件可能是关于...

    JAVASCRIPTUMENT对象属性和方法[文].pdf

    下面将详细介绍`document`对象的一些关键属性和方法。 1. **属性** - `document.title`: 该属性用于获取或设置当前文档的标题,相当于HTML中的`&lt;title&gt;`标签内容。 - `document.bgColor`: 这个属性已过时,但过去...

Global site tag (gtag.js) - Google Analytics