属性:
- Attributes 存储节点的属性列表(只读)
- childNodes 存储节点的子节点列表(只读)
- dataType 返回此节点的数据类型
- Definition 以DTD或XML模式给出的节点的定义(只读)
- Doctype 指定文档类型节点(只读)
- documentElement 返回文档的根元素(可读写)
- firstChild 返回当前节点的第一个子节点(只读)
- Implementation 返回XMLDOMImplementation对象
- lastChild 返回当前节点最后一个子节点(只读)
- nextSibling 返回当前节点的下一个兄弟节点(只读)
- nodeName 返回节点的名字(只读)
- nodeType 返回节点的类型(只读)
- nodeTypedValue 存储节点值(可读写)
- nodeValue 返回节点的文本(可读写)
- ownerDocument 返回包含此节点的根文档(只读)
- parentNode 返回父节点(只读)
- Parsed 返回此节点及其子节点是否已经被解析(只读)
- Prefix 返回名称空间前缀(只读)
- preserveWhiteSpace 指定是否保留空白(可读写)
- previousSibling 返回此节点的前一个兄弟节点(只读)
- Text 返回此节点及其后代的文本内容(可读写)
- url 返回最近载入的XML文档的URL(只读)
- Xml 返回节点及其后代的XML表示(只读)
- nextSibling 返回相领的节点
方法:
- appendChild 为当前节点添加一个新的子节点,放在最后的子节点后
- cloneNode 返回当前节点的拷贝
- createAttribute 创建新的属性
- createCDATASection 创建包括给定数据的CDATA段
- createComment 创建一个注释节点
- createDocumentFragment 创建DocumentFragment对象
- createElement 创建一个元素节点
- createEntityReference 创建EntityReference对象
- createNode 创建给定类型,名字和命名空间的节点
- createPorcessingInstruction 创建操作指令节点
- createTextNode 创建包括给定数据的文本节点
- getElementsByTagName 返回指定名字的元素集合
- hasChildNodes 返回当前节点是否有子节点
- insertBefore 在指定节点前插入子节点
- Load 导入指定位置的XML文档
- loadXML 导入指定字符串的XML文档
- removeChild 从子结点列表中删除指定的子节点
- replaceChild 从子节点列表中替换指定的子节点
- Save 把XML文件存到指定节点
- selectNodes 对节点进行指定的匹配,并返回匹配节点列表
- selectSingleNode 对节点进行指定的匹配,并返回第一个匹配节点
- transformNode 使用指定的样式表对节点及其后代进行转换
- transformNodeToObject 使用指定的样式表将节点及其后代转换为对象
举例:
<html>
<head>
<meta charset=utf-8" />
<script type=text/javascript>
function Message()
{
var op=document.createElement_x("p");
var oText=document.createTextNode("hello world!");
op.appendChild(oText);
document.body.appendChild(op);
}
</script>
</head>
<body onload="Message();">
</body>
</html>
2,删除节点 方法:getElementsByTagName和removeChild
<html>
<head>
<meta charset=utf-8" />
<script type=text/javascript>
function removeMessage()
{
var op=document.body.getElementsByTagName_r("p")[0];
op.parentNode.removeChild(op);
}
</script>
</head>
<body onload="removeMessage();">
<p>hello world!</p>
</body>
</html>
3.替换节点 方法replace(new,old)
<html>
<head>
<meta charset=utf-8" />
<script type=text/javascript>
function replaceMessage()
{
var oNewp=document.createElement_x("p");
var oText=document.createTextNode("World Hello");
oNewp.appendChild(oText);
var oOldp=document.body.getElementsByTagName_r("p")[0];
oOldp.parentNode.replaceChild(oNewp,oOldp);
}
</script>
</head>
<body onload="replaceMessage();">
<p>hello world!</p>
</body>
</html>
4.插入新消息 insertBefore(new,old)
<html>
<head>
<meta charset=utf-8" />
<script type=text/javascript>
function replaceMessage()
{
var oNewp=document.createElement_x("p");
var oText=document.createTextNode("World Hello");
oNewp.appendChild(oText);
var oOldp=document.body.getElementsByTagName_r("p")[0];
document.body.insertBefore(oNewp,oOldp);
}
</script>
</head>
<body onload="replaceMessage();">
<p>hello world!</p>
</body>
</html>
5,文档碎片
<html>
<head>
<meta charset=utf-8" />
<script type=text/javascript>
function replaceMessage()
{
var arrText=["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth"];
var oFragment=document.createDocumentFragment();//文档碎片
for(var i=0;i<arrText.length;i++)
{
var op=document.createElement_x("p");
var oText=document.createTextNode(arrText[i]);
op.appendChild(oText);
oFragment.appendChild(op);
}
document.body.appendChild(oFragment);
}
</script>
</head>
<body onload="replaceMessage();">
<p>hello world!</p>
</body>
</html>
6,操作document元素属性
<html>
<head>
<meta charset=utf-8" />
<script type=text/javascript>
function Load_message()
{
var oimg=document.getElementByIdx_x("a");
alert(oimg.getAttribute("border"));
oimg.setAttribute("alt","DOM Test");
}
</script>
</head>
<body onload="Load_message();">
<img border="0" width="100" height="150" id="a"/>
</body>
</html>
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· 为什么AI教师难以实现
· 如何让低于1B参数的小型语言模型实现 100% 的准确率
· AI Agent爆火后,MCP协议为什么如此重要!
· 【译】Visual Studio(v17.13)中新的调试和分析特性
· Draw.io:你可能不知道的「白嫖级」图表绘制神器