一.直接引用结点
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的世界里,HTML DOM(Document Object Model)是网页内容的一种结构化表示,它允许我们通过编程...随着对DOM操作的熟练掌握,开发者能够更好地理解前端开发的核心原理,为后续的Web应用开发打下坚实基础。
JS中的DOM操作是JavaScript...总的来说,JS的DOM操作是前端开发中的基本技能,它使开发者能够动态地操纵网页内容,实现丰富的交互效果和功能。了解和熟练掌握DOM的各种操作方法,对于提升网页应用的用户体验至关重要。
jQuery提供了丰富的选择器、遍历和操作方法,使得DOM操作变得简单易行。 1. **选择器**: jQuery提供了多种CSS选择器,如ID选择器(#id),类选择器(.class),元素选择器(element),以及组合选择器等,使我们能够快速...
10. **AJAX请求**:尽管标签只提到了DOM操作,但有些小型库可能还集成了简单的异步请求功能,以便进行局部数据的获取和更新。 在项目中使用这样的库,开发者可以快速实现页面交互,同时减少对大型库如jQuery的依赖...
### Java对DOM的三种操作方式 在Java编程领域中,处理XML文档是一项常见的任务。XML(可扩展标记语言)作为一种标准的数据交换格式,在多种应用场景中扮演着重要角色。为了简化XML文档的操作,Java提供了多种库和...
Ractive.js是一个强大的JavaScript库,被誉为“下一代DOM操作框架”。它设计的核心理念是提供一种更加简单、高效且灵活的方式来处理用户界面,特别是在构建复杂的单页应用程序(SPA)时。Ractive.js通过数据绑定、...
本文将详细讲解XML文件的DOM操作。 XML文件的DOM规定如下: 1. 整个XML文档是一个文档节点,即根节点。 2. 每个XML元素是一个元素节点,如`<book>`。 3. 元素内的文本是文本节点,如`"Java编程指南"`。 4. 每个XML...
在本文中,我们将深入探讨DOM4J如何进行XML操作,包括增加、删除和修改XML元素。 首先,我们需要理解XML的基本结构。XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,它使用标签来描述数据。DOM4J通过...
1 展示了一个动态操作表格的例子 2 有简单的CSS布局 3 主要供自己查阅参考
在实际开发中,需要注意跨域问题,因为出于安全考虑,不同源的`iframe`之间不能自由地进行DOM操作和数据交互,除非两个页面都设置了正确的`CORS`策略。此外,`iframe`的加载可能有延迟,因此在操作`iframe`内的元素...
**zBase轻量级DOM操作库** zBase是一款专为JavaScript开发设计的轻量级DOM操作库,旨在简化网页中的DOM元素操作,提高开发效率。它以小巧的体积、高效性能和简洁API著称,是那些希望在项目中避免使用大型JavaScript...
在JavaScript中,DOM操作主要包括以下几大方面: 1. **获取元素**:`document.getElementById()`,`document.querySelector()`,`document.querySelectorAll()`等方法可以用来根据ID、CSS选择器或匹配多个元素的...
以下是一个简单的示例,展示了如何用C#启动Chrome浏览器并获取DOM元素: ```csharp using OpenQA.Selenium; using OpenQA.Selenium.Chrome; // 初始化ChromeDriver var options = new ChromeOptions(); var driver...
在这个项目中,你可能会遇到如何使用这些数组方法来实现一些常见的DOM操作,例如动态创建列表、响应用户交互、以及数据绑定等。例如,你可以使用`forEach()`来遍历DOM元素,然后使用`innerHTML`或`textContent`属性...
以上所述是Dojo 1.6在DOM操作方面的核心功能。通过这些API,开发者可以轻松地操控DOM结构,实现动态网页的交互和更新。提供的PDF文档可能包含了更详细的API说明和示例,建议深入学习,以便更好地利用Dojo进行Web开发...
基于MVVM(Model-View-ViewModel)架构的框架,如Angular和Vue.js,提供了强大的工具来简化这一过程,使得开发者可以更加高效地进行数据绑定和DOM操作,而无需直接操作DOM节点。 MVVM架构是一种设计模式,它将模型...
JavaScript 高级 - JSON 和 DOM 操作 在 JavaScript 中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于 JavaScript 的一种子集,易于人们阅读和编写,同时也易于机器解析和生成。JSON 是...
MochiKit是一个高级JavaScript库,受到Python和Python标准库的启发,旨在解决浏览器兼容性问题,特别是对于DOM操作提供了更为便捷的接口。MochiKit.DOM模块是库的核心部分,它专门设计用于处理XHTML文档,使得在...
同时,确保在实际的项目中处理可能的异常,如XML解析错误、DOM操作失败等。 总结来说,通过DOM操作XML文档向表格添加数据是一项常见的Web开发任务,它涉及XML文档的读取、解析,以及HTML元素的动态创建和更新。这一...
在Java中,有多种方式来解析和操作XML文档,包括DOM(Document Object Model)、SAX(Simple API for XML)、JDOM和DOM4J。每种方法都有其特点和适用场景,相应的,它们也需要引入特定的库文件。以下是对这些方法...