`
wangyanlong0107
  • 浏览: 499737 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

js dom代码

    博客分类:
  • js
 
阅读更多

简单的表格: 

复制代码代码如下:

<table> 
<tr> 
<td id="TEST"> 
<input type="submit" value="确定"> 
<input type="button" value="取消"> 
</td> 
</tr> 
</table> 

经测试: 
复制代码代码如下:

var td= document.getElementById("TEST"); 
alert(td.childNodes.length);结果为4 

百思不得其解,阅读相关资料后,发现原来JS中,空格也是作为一个文本节点,而两个input元素后面都有空格 
所以都作为一个文本节点,所以结果为4 
删除空格后结果为2 
为了处理里面的空格节点,用以下函数来处理 
复制代码代码如下:

function cleanWhitespace(element) 

for(var i=0; i<element.childNodes.length; i++) 

var node = element.childNodes[i]; 
if(node.nodeType == 3 && !/\S/.test(node.nodeValue)) 

node.parentNode.removeChild(node); 




处理结点cleanWhitespace(document.getElementById("TEST"))后,OK,解决 
另附: 
DOM基本方法 
一.直接引用结点 
1.document.getElementById(id); 
--在文档里面通过id来找结点 
2.document.getElementByTagName(tagName); 
--返回一个数组,包含对这些结点的引用 
--如:document.getElementByTagName("span");将返回所有类型为span的结点 
二.间接引用结点 
3.element.childNodes 
--返回element的所有子结点,可以用element.childNodes[i]的方式来调用 
--element.firstChild=element.childNodes[0]; 
--element.lastChild=element.childNodes[element.childNonts.length-1]; 
4.element.parentNode 
--引用父结点 
5.element.nextSibling; //引用下一个兄弟结点 
element.previousSibling; //引用上一个兄弟结点 
三.获得结点信息 
6.nodeName属性获得结点名称 
--对于元素结点返回的是标记名称,如:<a herf><a>返回的是"a" 
--对于属性结点返回的是属性名称,如:class="test" 返回的是test 
--对于文本结点返回的是文本的内容 
7.nodeType返回结点的类型 
--元素结点返回1 
--属性结点返回2 
--文本结点返回3 
8.nodeValue返回结点的值 
--元素结点返回null 
--属性结点返回undefined 
--文本结点返回文本内容 
9.hasChildNodes()判断是否有子结点 
10.tagName属性返回元素的标记名称 
--这个属性只有元素结点才有,等同于元素结点的nodeName属性 
四.处理属性结点 
11.每个属性结点都是元素结点的一个属性,可以通过(元素结点.属性名称)访问 
12.利用setAttribute()方法给元素结点添加属性 
--elementNode.setAttribute(attributeName,attributeValue); 
--attributeName为属性的名称,attributeValue为属性的值 
13.使用getAttribute()方法获得属性值 
--elementNode.getAttribute(attributeName); 
五.处理文本结点 
14.innerHTML和innerText属性,这两个方法相信大家都很熟悉,不介绍了,值得注意的是无论是ie还是firefox都容易把空格、换行、制表符等当成文本结点。所有一般通过element.childNodes[i]引用文本结点的时候,一般要处理: 
复制代码代码如下:

<script language"javaScript" type="text/javascript"> 
function cleanWhitespace(element) 

for(var i=0; i<element.childNotes.length; i++) 

var node = element.childNodes[i]; 
if(node.nodeType == 3 && !/\S/.test(node.nodeValue)) 

node.parentNode.removeChild(node); 



</script> 

六.改变文档的层次结构 
15.document.createElement()方法创建元素结点 
--如:document.createElement("Span"); 
16.document.createTextNode()方法创建文本结点 
--如:document.createTextNode(" "); //注:他不会通过html编码,也就是说这里创建的不是空格,而是字符串 
17.使用appendChild()方法添加结点 
--parentElement.appendChild(childElement); 
18.使用insertBefore()方法插入子节点 
--parentNode.insertBefore(newNode,referenceNode); 
--newNode为插入的节点,referenceNode为将插入的节点插入到这之前 
19.使用replaceChild方法取代子结点 
--parentNode.replaceChild(newNode,oldNode); 
--注:oldNode必须是parentNode的子结点, 
20.使用cloneNode方法复制结点 
--node.cloneNode(includeChildren); 
--includeChildren为bool,表示是否复制其子结点 
21.使用removeChild方法删除子结点 
--parentNode.removeChild(childNode); 
七.表格的操作 
--注:ie中无法直接将一个完整的表格结点插入到文档中 
22.添加行和单元格 
var _table=document.createElement("table"); //创建表 
table.insertRow(i); //在table的第i行插入行 
row.insertCell(i); //在row的第i个位置插入单元格 
23.引用单元格对象 
--table.rows[i].cells[i]; 
24.删除行和单元格 
--table.deleteRow(index); 
--row.deleteCell(index); 
25.交换两行获得两个单元格的位置 
node1.swapNode(node2); 
--这个方法在firefox中将出错 
通用方法: 
复制代码代码如下:

function swapNode(node1,node2) 

var _parent=node1.parentNode; 
var _t1=node1.nextSubling; 
var _t2=node2.nextSubling; 
if(_t1)parent.insertBefore(node2,_t1); 
else _parent.appendChild(node2); 
if(_t2)parent.insertBefore(node1,_t2); 
else _parent.appendChild(node1); 

分享到:
评论

相关推荐

    javascript dom 代码

    在JavaScript中,DOM提供了丰富的API来创建、修改和操作网页内容。 1. **DOM基本概念** - **DOM树**:HTML页面被解析成一棵由元素、属性和文本节点组成的树形结构。 - **节点**:DOM中的每个部分都是一个节点,如...

    JavaScript dom操作 dom元素查询 示例代码

    JavaScript dom操作 dom元素查询 示例代码JavaScript dom操作 dom元素查询 示例代码JavaScript dom操作 dom元素查询 示例代码JavaScript dom操作 dom元素查询 示例代码JavaScript dom操作 dom元素查询 示例代码...

    JavaScript之DOM事件(源代码)

    JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源...

    JavaScript dom操作 删除元素 示例代码

    示例代码JavaScript dom操作 删除元素 示例代码JavaScript dom操作 删除元素 示例代码JavaScript dom操作 删除元素 示例代码JavaScript dom操作 删除元素 示例代码JavaScript dom操作 删除元素 示例代码JavaScript ...

    随书光盘+PDF JavaScript DOM编程艺术(第2版)-源代码2.5MB PDF114MB .zip

    总之,"JavaScript DOM编程艺术(第2版)"是Web前端开发者的宝贵资源,它涵盖了从基础到进阶的JavaScript DOM知识,通过随书附带的源代码和PDF,读者可以理论结合实践,提升自己的Web开发技能。无论你是初学者还是经验...

    JSDOM编程艺术代码.7z

    《JavaScript.DOM编程艺术》是JavaScript开发者必读的经典之作,它深入浅出地介绍了如何使用JavaScript操作DOM(Document Object Model)来构建动态、交互式的Web页面。第二版更是对第一版的内容进行了更新和完善,...

    JavaScript dom操作 访问和修改元素 示例代码

    JavaScript dom操作 访问和修改元素 示例代码JavaScript dom操作 访问和修改元素 示例代码JavaScript dom操作 访问和修改元素 示例代码JavaScript dom操作 访问和修改元素 示例代码JavaScript dom操作 访问和修改...

    JavaScript dom操作 添加和替换元素 示例代码

    JavaScript dom操作 添加和替换元素 示例代码JavaScript dom操作 添加和替换元素 示例代码JavaScript dom操作 添加和替换元素 示例代码JavaScript dom操作 添加和替换元素 示例代码JavaScript dom操作 添加和替换...

    jsdom.rar jsdom.chm

    **jsdom**: JavaScript DOM jsdom是一个JavaScript实现的DOM(Document Object Model)库,它允许在Node.js环境中处理HTML和XML文档。这个库是为了解决JavaScript在浏览器之外运行时无法直接操作DOM的问题。jsdom将...

    经典之作javascript dom编程艺术源码

    JavaScript DOM编程艺术是一本深入解析DOM操作的经典书籍,它的源码提供了丰富的实例,帮助开发者深入理解如何使用原生JavaScript高效地操纵网页元素。DOM(Document Object Model)是HTML和XML文档的标准表示,它将...

    JavaScript DOM编程艺术(第2版pdf)+源代码

    JavaScript DOM编程艺术(第2版)是一本深受程序员喜爱的JavaScript技术书籍,专注于讲解如何使用JavaScript与Document Object Model(DOM)进行交互。DOM是Web页面的结构化表示,它允许我们通过编程方式操纵HTML和XML...

    JSDOM编程艺术2源代码

    **JavaScript DOM编程艺术2源代码**是...通过阅读和实践提供的源代码,你可以深化对DOM的理解,提高JavaScript编程技能,并利用JSDOM在Node.js环境中实现更多可能性。记得在实践中不断探索,DOM的世界充满了无限可能。

    demo-x:为 JavaScriptDOM 代码创建交互式真人演示的伪 Web 组件

    一个灵活的 Web 组件,用于以脚本化但交互的方式演示 JavaScript/DOM 代码。 它是基于 Adrian Cooney 的早期版本为开发的。 : bower install demo-x : npm install demo-x完整版本: 下载: 或发布历史2014-12-04 ...

    源代码js DOM

    这是javascript DOM这本书的源代码。书中总共有12章。

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

    JavaScript DOM编程艺术是一本深入探讨如何使用JavaScript与文档对象模型(DOM)进行交互的经典书籍。DOM是HTML和XML文档的结构化表示,它允许我们通过编程方式访问和修改页面元素。这本书的源代码包含了所有相关的...

    JavaScript DOM编程艺术 第2版+代码

    "DOM_Scripting__Web_Design_with_JavaScript_and_the_Document_Object_Model__Second_Edition.pdf"是书籍的PDF版本,"DOM+SCRIPTING"可能包含与书中章节相对应的代码示例。 总之,《JavaScript DOM编程艺术 第2版...

    JavaScript DOM编程艺术(中文第2版).pdf

    javascript入门必备,本书讲述了JavaScript和DOM的基础知识,但重点放在DOM编程技术背后的思路和原则:预留退路、循序渐进和以用户为中心等,这些概念对于任何前端Web开发工作都非常重要。本书将这些概念贯穿在书中...

    JavaScript DOM编程艺术.pdf

    他通过这本书深入浅出地讲解了JavaScript和DOM编程,并通过实际的代码示例,如创建图片库页面的脚本、动画效果的脚本以及丰富页面元素呈现效果的脚本,展示了这些编程原则和最佳实践的应用。读者可以通过这些示例...

    JavaScriptDOM编程艺术(第2版)PDF版本下载.txt

    随着时间的发展,JavaScript已经成为了一门功能强大的编程语言,并且拥有庞大的生态系统,包括Node.js、React、Angular等流行框架和库。 ### 二、DOM概念详解 #### 2.1 DOM定义 DOM(Document Object Model,文档...

    <<JavaScript DOM 高级程序设计>> 一书的配套源代码

    通过研究这些源代码,你可以深入了解DOM API的使用,提高编写高效、可维护的JavaScript代码的能力。同时,将理论知识与实践相结合,有助于培养解决实际问题的技能。记得在阅读和学习过程中,不仅要理解代码的功能,...

Global site tag (gtag.js) - Google Analytics