- 浏览: 450667 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
ubuntu的疯狂:
推荐一份完整的教程:http://blog.ddlisting ...
Emberjs学习 -
ptz19:
请问,如果把合并前的文件,不要dest 目标目录来。如: js ...
gulp下静态资源的合并、压缩、MD5后缀 -
zhouzq1008:
楼主,还有个问题,<a href="" ...
gulp下静态资源的合并、压缩、MD5后缀 -
zhouzq1008:
感谢楼主,用到了您的代码, 但现在好像有改动 否则会报错:修改 ...
gulp下静态资源的合并、压缩、MD5后缀 -
denverj:
感谢分享~
Emberjs学习
document.createElement(element): 创建一个标签为element的Element节点。
注意:
在HTML中,element大小写不敏感;在XML(XHTML)中大小写敏感。
例子:
IE下运行创建element的时候,可以同时设置属性:
document.createTextNode("string");创建内容为string的文本节点
document.createDocumentFragment()创建一个未定义类型的DocumentFragment对象(继承自Node)
例子:
newNode =someNode.cloneNode(bool)
newNode =someNode.cloneNode(bool): 克隆someNode,返回克隆后的节点。bool = true表示深度克隆,将会克隆someNode的下属所有子节点;bool = false为浅克隆,仅克隆someNode本身。克隆的节点将拥有和原有节点一样的属性,如ID等
有关克隆的'事件处理':
1.如果事件函数直接添加在HTML页面上,如<li onclick="fn();"></li>,那么,克隆得到的节点也将拥有该事件,就好比该事件处理函数也是节点的一个属性一般。
2.如果事件函数以DOM LEVEL 0 的形式添加,如:
someNode.onclick = fn;
那么,克隆后的节点newNode不会拥有该事件函数。
3.如果事件函数以DOM LEVEL 2 的形式添加,如:
则在firefox,chrome中,克隆后的节点不会拥有该事件函数,而在IE中,克隆后的节点也会拥有该处理函数。
someNode.appendChild(newNode)
将newNode添加作为someNode的最后一个子节点,返回值为 newNode.newNode将从DOM原来的位置被自动移除,然后作为someNode的最后一个节点出现在DOM上,换句话说,这是一种'move'操作,而不是'copy'操作。
例子:
someNode.insertBefore(newNode,oldNode)
将newNode插入到oldNode之前。返回newNode.如果oldNode为null,则操作结果相同于someNode.appendChild(newNode);
someNode.replaceChild(newNode, oldNode): 用newNode(不能为空)替换oldNode.
someNode.removeChild(oldNode):删除someNode的子节点oldNode(包括它下面的所有子节点).
附带 Document Object Model (Core) Level 1中关于几种节点的IDL 定义:
注意:
在HTML中,element大小写不敏感;在XML(XHTML)中大小写敏感。
例子:
var el = document.createElement("div"); el.id = "myDiv"; el.className = "nav"; document.appendChild(el);
IE下运行创建element的时候,可以同时设置属性:
if (client.browser.ie & & client.browser.ie < = 7){ var iframe = document.createElement('<iframe name=\"myframe\"> < /iframe>'); //create input element var input = document.createElement('<input type=\"checkbox\" />'); //create button var button = document.createElement('<button type=\"reset\"> </button>'); //create radio buttons var radio1 = document.createElement('<input type=\"radio\" name=\"choice\" value=\"1\" />'); var radio2 = document.createElement('<input type=\"radio\" name=\"choice\" value=\"2\" />'); }
document.createTextNode("string");创建内容为string的文本节点
var element = document.createElement('div'); element.className = 'message'; var textNode = document.createTextNode('Hello world!'); element.appendChild(textNode); var anotherTextNode = document.createTextNode('Yippee!'); element.appendChild(anotherTextNode); document.body.appendChild(element); alert(element.childNodes.length); //2 /* 上述代码中,element将会有2个child因为我们创建了2个Text Node,这可能不是我们想要的结果,调用normalize()方法,可以使得节点下面的文本节点内容进行“拼接”: */ element.normalize(); alert(element.childNodes.length); //1 alert(element.firstChild.nodeValue); //”Hello World!Yippee!”
document.createDocumentFragment()创建一个未定义类型的DocumentFragment对象(继承自Node)
例子:
var fragment = document.createDocumentFragment(); var ul = document.getElementById('myList'); var li = null; for (var i=0; i < 3; i++){ li = document.createElement('li'); li.appendChild(document.createTextNode('Item ' + (i+1))); fragment.appendChild(li); } //alert(fragment.childNodes.length);//3 //fargment中的子节点将被 'move' 到DOM tree中,它里面的内容被"清空"了。 ul.appendChild(fragment); //alert(fragment.childNodes.length);//0
newNode =someNode.cloneNode(bool)
newNode =someNode.cloneNode(bool): 克隆someNode,返回克隆后的节点。bool = true表示深度克隆,将会克隆someNode的下属所有子节点;bool = false为浅克隆,仅克隆someNode本身。克隆的节点将拥有和原有节点一样的属性,如ID等
有关克隆的'事件处理':
1.如果事件函数直接添加在HTML页面上,如<li onclick="fn();"></li>,那么,克隆得到的节点也将拥有该事件,就好比该事件处理函数也是节点的一个属性一般。
2.如果事件函数以DOM LEVEL 0 的形式添加,如:
someNode.onclick = fn;
那么,克隆后的节点newNode不会拥有该事件函数。
3.如果事件函数以DOM LEVEL 2 的形式添加,如:
someNode.addEventListener('click',fn,false);// firefox ,chrome or other browers someNode.attachEvent('onclick',fn);//IE
则在firefox,chrome中,克隆后的节点不会拥有该事件函数,而在IE中,克隆后的节点也会拥有该处理函数。
someNode.appendChild(newNode)
将newNode添加作为someNode的最后一个子节点,返回值为 newNode.newNode将从DOM原来的位置被自动移除,然后作为someNode的最后一个节点出现在DOM上,换句话说,这是一种'move'操作,而不是'copy'操作。
例子:
var returnedNode = someNode.appendChild(someNode.firstChild); alert(returnedNode == someNode.firstChild); //false alert(returnedNode == someNode.lastChild); //true
someNode.insertBefore(newNode,oldNode)
将newNode插入到oldNode之前。返回newNode.如果oldNode为null,则操作结果相同于someNode.appendChild(newNode);
returnedNode = someNode.insertBefore(newNode, null); alert(newNode == someNode.lastChild); //true
someNode.replaceChild(newNode, oldNode): 用newNode(不能为空)替换oldNode.
someNode.removeChild(oldNode):删除someNode的子节点oldNode(包括它下面的所有子节点).
附带 Document Object Model (Core) Level 1中关于几种节点的IDL 定义:
interface Document : Node { readonly attribute DocumentType doctype; readonly attribute DOMImplementation implementation; readonly attribute Element documentElement; Element createElement(in DOMString tagName) raises(DOMException); DocumentFragment createDocumentFragment(); Text createTextNode(in DOMString data); Comment createComment(in DOMString data); CDATASection createCDATASection(in DOMString data) raises(DOMException); ProcessingInstruction createProcessingInstruction(in DOMString target, in DOMString data) raises(DOMException); Attr createAttribute(in DOMString name) raises(DOMException); EntityReference createEntityReference(in DOMString name) raises(DOMException); NodeList getElementsByTagName(in DOMString tagname); }; interface Element : Node { readonly attribute DOMString tagName; DOMString getAttribute(in DOMString name); void setAttribute(in DOMString name, in DOMString value) raises(DOMException); void removeAttribute(in DOMString name) raises(DOMException); Attr getAttributeNode(in DOMString name); Attr setAttributeNode(in Attr newAttr) raises(DOMException); Attr removeAttributeNode(in Attr oldAttr) raises(DOMException); NodeList getElementsByTagName(in DOMString name); void normalize(); }; interface HTMLElement : Element { attribute DOMString id; attribute DOMString title; attribute DOMString lang; attribute DOMString dir; attribute DOMString className; }; interface CharacterData : Node { attribute DOMString data; // raises(DOMException) on setting // raises(DOMException) on retrieval readonly attribute unsigned long length; DOMString substringData(in unsigned long offset, in unsigned long count) raises(DOMException); void appendData(in DOMString arg) raises(DOMException); void insertData(in unsigned long offset, in DOMString arg) raises(DOMException); void deleteData(in unsigned long offset, in unsigned long count) raises(DOMException); void replaceData(in unsigned long offset, in unsigned long count, in DOMString arg) raises(DOMException); }; interface Text : CharacterData { Text splitText(in unsigned long offset) raises(DOMException); }; interface DocumentFragment : Node { };
发表评论
-
css3 简单slider
2014-01-24 15:16 3468<!DOCTYPE html> <ht ... -
执行innerHTML时候,代码片段的js
2014-01-21 14:13 1007<!DOCTYPE html> <ht ... -
css3的饼图
2013-12-31 15:12 1232来自:http://atomicnoggin.ca/test/ ... -
动态添加style元素
2013-09-03 15:42 1099/** * @description IE6~9下,页 ... -
备份一个简单的分页条
2013-07-20 10:57 1096<div class="pageBar ... -
页面布局:分5个区域
2013-05-15 17:19 1003<!DOCTYPE html PUBLIC &quo ... -
表单提交至iframe
2013-05-14 11:20 7679....... <meta http-equiv= ... -
innerText VS textContent
2013-04-28 13:35 1316Firefox: textContent 会把内联的style ... -
将文本转换为dom节点
2012-11-30 17:05 1333jQuery(document).ready(functi ... -
关于getBoundingClientRect 与 getClientRects
2012-08-19 14:29 3035getBoundingClientRect 可以用来获取 元 ... -
select,option 元素的DOM操作:
2012-08-16 14:28 5266select 元素常用属性(方法): add(n ... -
动态加载JS/CSS文件--改进版
2011-01-11 17:22 2632function loadScript(url, call ... -
深度遍历节点
2010-10-27 10:15 946function tranverse(el,lv){ ... -
DOM操作:insertAdjacentHTML与Range的实现
2010-08-20 16:39 1132利用insertAdjacentHTML与Range实现DOM ... -
CSS圆角实现
2010-08-20 16:28 11661.方法一:上下两张带圆角的图片。宽度固定,允许高度变动. ... -
折叠导航菜单
2010-07-23 17:01 1299<!--[if ie 6]> <sty ... -
左右滚动的图片展示
2010-07-23 11:48 1319<div id="demo"&g ... -
上下滚动新闻
2010-07-23 11:43 1559连续滚动:该方法要求内容(contentDiv)的高度应该大于 ... -
一个简单的遮盖层
2010-07-15 15:44 1307.opacity{ filter:alpha(opaci ... -
CSS相关的DOM操作
2010-07-13 09:34 11101.设置元素的float属性:由于float在javascri ...
相关推荐
在本章“第06章 DOM节点操作(上)”中,我们将深入探讨Document Object Model(DOM)在JavaScript中的应用,以及如何通过DOM接口来操纵HTML或XML文档的结构、内容和样式。DOM是一种标准,它允许编程语言与网页内容...
DOM节点操作是前端开发中的核心技能,对创建交互式网页至关重要。 一、节点类型 DOM中的每个元素都是一个节点,包括元素节点、属性节点、文本节点等。元素节点(如`<div>`、`<p>`)是文档结构的主要构成部分,属性...
1、获取元素节点 getElementById():获取指定唯一id的元素。 getElementByTagName():获取指定元素标签名的元素数组。 getElementByName():获取具有指定属性name的元素数组。 2、子节点 element.childNodes:返回该...
"domtoimage使用HTML5canvas从DOM节点生成图像" 这个标题提到了一个名为 "domtoimage" 的工具,它利用HTML5的Canvas API将DOM(文档对象模型)中的节点转换为图像。这个过程通常用于网页截图或者在网页中保存和分享...
在"jQuery DOM节点操作源码"中,我们可以深入理解jQuery是如何优雅地处理DOM(Document Object Model)节点的。以下是关于jQuery DOM操作的一些关键知识点: 1. **选择器**:jQuery 的核心功能之一就是强大的选择器...
知识点2:创建DOM节点 在JavaScript中,可以通过`document.createElement()`方法创建一个新的元素节点,这将返回一个代表新元素的DOM对象。例如,`var obj = document.createElement("p");`将会创建一个新的`<p>`...
DOM节点操作的重要性在于,它可以帮助开发者创建动态的用户界面,响应用户的交互行为,例如通过鼠标悬停(mouseover)和鼠标离开(mouseout)事件来控制导航栏下拉菜单的显示和隐藏。通过使用DOM节点操作,开发者...
DOM提供了一系列方法来操作这些节点,如`createElement`和`appendChild`用于创建和添加新元素,`replaceChild`用于替换节点,`firstElementChild`和`lastElementChild`用于访问元素子节点,以及`nextElementSibling`...
文档对象模型(DOM)将Web页面与脚本语言或编程语言连接起来,为Web页面的结构化表示提供了一种方式。...通过深入学习和实践DOM节点操作,开发者可以有效地控制Web文档,实现更加丰富和动态的Web应用。
在Visual Studio环境下,我们可以利用jQuery进行DOM节点的创建、插入等操作。下面我们将详细探讨这些知识点: 1. **创建DOM节点** - 使用`document.createElement()`函数可以创建新的DOM元素。例如,创建一个带有...
DOM(Document Object Model)是一种标准,它将网页内容组织成一棵结构化的节点树,允许通过编程方式对这些节点进行操作。 1. DOM基础 DOM将网页内容分为不同类型的节点,如: - Document:整个文档的根节点。 -...
DOM 访问、创建、删除、修改文档节点及属性方法 DOM(Document Object Model)是 HTML 和 XML 文档的编程接口,允许开发者使用脚本语言(如 JavaScript)来访问和操作文档的结构和内容。在这里,我们将详细介绍 DOM...
纯JavaScript操作DOM节点,通过动态JS创建元素标签,自定义元素的个数,并显示序号和对应的正则表达式验证和图片类型大小验证,,在前端用户姓名和性别多选框的取值已拿到,最后把后面的if else代码放开就可以了,...
8. **DOM1与DOM2/3的区别**:尽管DOM11这个术语可能是指DOM1的一个扩展,实际上DOM1主要关注基本的节点操作,而DOM2引入了样式和事件接口,DOM3则增加了更多的功能,如XML支持和文档加载。 在实际项目中,掌握DOM...
元素节点对象是指 DOM 中的元素节点对象,它提供了许多方法和属性,开发者可以通过这些方法和属性来操作文档的内容和结构。 innerHTML innerHTML 是指 DOM 中的 innerHTML 属性,它允许开发者通过 JavaScript 修改...
本篇文章将详细讲解如何在Vue.js中插入DOM节点,并探讨其与jQuery操作DOM的不同之处。 首先,Vue.js 提供了 `$mount` 方法用于创建组件实例并挂载到DOM中。例如,在给定的示例中,我们创建了四个组件:MyComponent...
本文实例讲述了JQuery创建DOM节点的方法。分享给大家供大家参考。具体分析如下: 用JQuery选择器能够快捷而轻松地查找到文档中的某个特定的元素节点,然后可以用attr()方法来获取元素的各种属性的值。但真正的DOM...
总之,理解并熟练掌握DOM节点操作对于任何JavaScript开发者来说都是至关重要的,无论是在简单的页面交互还是复杂的Web应用程序中,这些基本操作都是构建动态用户界面的基础。通过DOM,我们可以实现诸如响应式设计、...
【标题】: "用于节点操作的API,颠覆原生操作HTML DOM节点的API" 【描述】: 敏捷开发是一种高效且灵活的软件开发方法,强调团队协作、迭代开发和快速响应变化。在敏捷开发中,软件项目被分解成多个小的、可测试的子...
在JavaScript中,我们经常需要对DOM节点进行集合操作,这就涉及到了数组方法。尽管DOM节点集合本身并不是真正的数组,但它们具有类似数组的特性,可以使用数组的一些方法。例如: 1. `forEach()`:遍历DOM节点集合...