javascript中创建节点的方法:1、createElement()方法,可以创建元素节点;2、createTextNode()方法,可以创建文本节点;3、createAttribute()方法,可以创建属性节点。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
javascript中创建节点的方法
1、createElement()方法:创建元素节点
使用 document 对象的 createElement() 方法能够根据参数指定的标签名称创建一个新的元素节点,并返回新建元素的引用。用法如下:
var element = document.getElement("tagName");
其中,element 表示新建元素的引用,createElement() 是 document 对象的一个方法,该方法只有一个参数,用来指定创建元素的标签名称。
【示例1】下面代码在当前文档中创建了一个段落标记 p,存储到变量 p 中。由于该变量表示一个元素节点,所以它的 nodeType 属性值等于 1,而 nodeName 属性值等于 p。
var p = document.createElement("p"); //创建段落元素 var info = "nodeName:" + p.nodeName; //获取元素名称 info += ", nodeType:" + p.nodeType; //获取元素类型,如果为1则表示元素节点 console.log(info);
使用 createElement() 方法创建的新元素不会被自动添加到文档里。如果要把这个元素添加到文档里,还需要使用 appendChild()、insertBefore() 或 replaceChild() 方法实现。
【示例2】下面代码演示如何把新创建的 p 元素增加到 body 元素下。当元素被添加到文档树中,就会立即显示出来。
var p = document.createElement("p"); //创建段落元素 document.body.appendChild(p); //增加段落元素到body元素下
2、createTextNode() 方法:创建文本节点
使用 document 对象的 createTextNode() 方法可创建文本节点。用法如下:
document.createTextNode(data)
参数 data 表示字符串。
示例
下面示例创建一个新 div 元素,并为它设置 class 值为 red,然后添加到文档中。
var element = document.createElement("div"); element.className = "red"; document.body.appendChild(element);
由于 DOM 操作等原因,可能会出现文本节点不包含文本,或者接连出现两个文本节点的情况。为了避免这种情况的发生,一般会在父元素上调用 normalize() 方法,删除空文本节点,合并相邻文本节点。
3、createAttribute()方法:创建属性节点
使用 document 对象的 createAttribute() 方法可以创建属性节点,具体用法如下:
document.createAttribute(name)
参数 name 表示新创建的属性的名称。
示例1
下面示例创建一个属性节点,名称为 align,值为 center,然后为标签 <div id="box"> 设置属性 align,最后分别使用 3 种方法读取属性 align 的值。
<div id="box">document.createAttribute(name)</div> <script> var element = document.getElementById("box"); var attr = document.createAttribute("align"); attr.value = "center"; element.setAttributeNode(attr); console.log(element.attributes["align"].value); //"center" console.log(element.getAttributeNode("align").value); //"center" console.log(element.getAttribute("align")); //"center" </script>
属性节点一般位于元素的头部标签中。元素的属性列表会随着元素信息预先加载,并被存储在关联数组中。例如,针对下面 HTML 结构。
<div id="div1" title="div"></div>
当 DOM 加载后,表示 HTML div 元素的变量 divElement 就会自动生成一个关联集合,它以名值对形式检索这些属性。
divElement.attributes = { id : "div1", class : "style1", lang : "en", title : "div" }
在传统 DOM 中,常用点语法通过元素直接访问 HTML 属性,如 img.src、a.href 等,这种方式虽然不标准,但是获得了所有浏览器的支持。
示例2
img 元素拥有 src 属性,所有图像对象都拥有一个 src 脚本属性,它与 HTML 的 src 特性关联在一起。下面两种用法都可以很好地工作在不同浏览器中。
<img id="img1" src="" /> <script> var img = document.getElementById("img1"); img.setAttribute("src", "http://www.w3.org"); //HTML 属性 img.src = "http://www.w3.org"; //JavaScript 属性 </script>
类似的还有 onclick、style 和 href 等。为了保证 JavaScript 脚本在不同浏览器中都能很好地工作,建议采用标准用法,而且很多 HTML 属性并没有被 JavaScript 映射,所以也就无法直接通过脚本属性进行读写。
【推荐学习:javascript高级教程】
以上就是在javascript中创建节点的方法有哪些的详细内容,更多请关注php中文网其它相关文章!
已抢186227个
抢已抢67159个
抢已抢352772个
抢已抢666816个
抢已抢121648个
抢已抢22608个
抢