JavaScript操作XML/HTML比较常用的对象属性集锦


Posted in Javascript onOctober 30, 2015

节点对象属性

childNodes—返回节点到子节点的节点列表

firstChild—返回节点的首个子节点。
lastChild—返回节点的最后一个子节点。

nextSibling—返回节点之后紧跟的同级节点。

nodeName—返回节点的名字,根据其类型。
nodeType—返回节点的类型。
nodeValue—设置或返回节点的值,根据其类型。

ownerDocument—返回节点的根元素(document对象)。

parentNode—返回节点的父节点。

previousSibling—返回节点之前紧跟的同级节点。

text—返回节点及其后代的文本(IE独有)。

xml—返回节点及其后代的XML(IE独有)。

节点对象的方法

appendChild()—向节点的子节点列表的结尾添加新的子节点。

cloneNode()—复制节点。

hasChildNodes()—判断当前节点是否拥有子节点。

insertBefore()—在指定的子节点前插入新的子节点。

normalize()—合并相邻的Text节点并删除空的Text节点。

removeChild()—删除(并返回)当前节点的指定子节点。

replaceChild()—用新节点替换一个子节点。

IE6独有

selectNodes()—用一个XPath表达式查询选择节点。

selectSingleNode()—查找和XPath查询匹配的一个节点。

transformNode()—使用XSLT把一个节点转换为一个字符串。

transformNodeToObject()—使用XSLT把一个节点转换成为一个文档。

NodeList对象

length ?返回节点列表中的节点数目。

item()—返回节点列表中处于指定的索引号的节点。

例如:

Javascript代码

xmlDoc = loadXMLDoc(“books.xml”); 
var x = xmlDoc.getElementsByTagName(“title”); 
document.write(“title element:” + x.length);

输出:title element:4

Javascript代码

var y = xmlDoc.documentElement.childNodes; 
document.write(y.item(0).nodeName);

输出:book

NamedNodeMap对象

length—返回列表中节点数目。

getNamedItem()—返回指定的节点。(通过名称)

item()—返回处于指定索引号的节点。

removeNamedItem()—删除指定的节点(根据名称)。

例如:

Javascript代码

xmlDoc = loadXMLDoc(“books.xml”); 
var x = xmlDoc.getElementsByTagName(“book”); 
document.write(x.item(0).attributes.length);

输出:1

Javascript代码

document.write(x.item(0).attributes.getNamedItem(“category”);

输出:COOKING 

Javascript代码 

x.item(0).attributes.removeNamedItem(“category”);

删除第一个book元素的category属性

Document对象代表整个XML文档。

Document对象的属性。

async—规定XML文件的下载是否应当被同步处理。

childNodes—返回属于文档的子节点的节点列表。

doctype—返回与文档相关的文档类型声明。

documentElement—返回文档的子节点。

firstChild—返回文档的首个子节点。

implementation—返回处理该文档的DOMImplementation对象。(IE没有)

lastChild—返回文档的最后一个子节点。

nodeType—返回节点类型。

nodeName—依据节点的类型返回其名称。

nodeValue—依据节点的类型返回其值。

text—返回节点及其后代的文本(IE独有)。

xml—返回节点及其后代的XML(IE独有)。

Document对象的方法

createAttribute(att_name)—创建拥有指定名称的属性节点,并返回新的属性对象。
createCDATASection(data)—创建CDATA区段节点。
createComment(data)—创建注释节点。
createDocumentFragment—创建空的DocumentFragment对象,并返回此对象。
createElement(node_name)—创建元素节点。
createEntityReference(name)—创建EntityReference对象,并返回此对象。(IE独有)
createTextNode(data)—创建文本节点。
getElementById(elementid)—查找具有指定的唯一ID的元素。
getElementsByTagName(node_name)—返回所有具有指定名称的元素节点。

例如:

Javascript代码 

var xmlDoc = loadXMLDoc("book.xml");  
xmlDoc.async = false; 
var book = xmlDoc.getElementsByTagName("book"); 
var newtext1="Special Offer & Book Sale"; 
var newCDATA=xmlDoc.createCDATASection(newtext1); 
book[0].appendChild(newCDATA); 
var newtext2="Revised September 2006"; 
var newComment=xmlDoc.createComment(newtext2); 
book[0].appendChild(newComment); 
var var newel=xmlDoc.createElement('edition'); 
var newtext3=xmlDoc.createTextNode('First'); 
newel.appendChild(newtext3); 
book[0].appendChild(newel); 
document.write("<xmp>" + xmlDoc.xml + "</xmp>");

Element 对象的属性
attributes—返回元素的属性的NamedNodeMap
childNodes—返回元素的子节点的NodeList
firstChild—返回元素的首个子节点。
lastChild—返回元素的最后一个子节点。
nextSibling—返回元素之后紧跟的节点。
nodeName—返回节点的名称。
nodeType—返回元素的类型。
ownerDocument—返回元素所属的根元素(document对象)。
parentNode—返回元素的父节点。
previousSibling—返回元素之前紧跟的节点。
tagName—返回元素的名称。
text—返回节点及其后代的文本。(IE-only)
xml—返回节点及其后代得XML。(IE-only)

Element对象的方法

appendChild(node)—向节点的子节点列表末尾添加新的子节点。
cloneNode(true)—克隆节点。
getAttribute(att_name)—返回属性的值。
getAttributeNode(att_name)—以 Attribute 对象返回属性节点。
getElementsByTagName(node_name)—找到具有指定标签名的子孙元素。
hasAttribute(att_name)—返回元素是否拥有指定的属性。
hasAttributes()—返回元素是否拥有属性。
hasChildNodes()—返回元素是否拥有子节点。
insertBefore(new_node,existing_node)—在已有的子节点之前插入一新的子节点。
removeAttribute(att_name)—删除指定的属性。
removeAttributeNode(att_node)—删除指定的属性节点。
removeChild(node)—删除子节点。
replaceChild(new_node,old_node)—替换子节点。
setAttribute(name,value)—添加新的属性或者改变属性的值。
setAttribute(att_node)—添加新的属性。

Javascript代码

x=xmlDoc.getElementsByTagName('book'); 
for(i=0;i<x.length;i++) 
{ 
attnode=x.item(i).getAttributeNode("category"); 
document.write(attnode.name); 
document.write(" = "); 
document.write(attnode.value); 
document.write("<br />"); 
} 
for(i=0;i<x.length;i++){ 
document.write(x[i].getAttribute('category')); 
document.write("<br />"); 
} 
xmlDoc=loadXMLDoc("/example/xdom/books.xml"); 
x=xmlDoc.getElementsByTagName('book'); 
document.write(x[0].getAttribute('category')); 
document.write("<br />"); 
x[0].removeAttribute('category'); 
document.write(x[0].getAttribute('category')); 
var attnode = x[1].getAttributeNode("category"); 
var y = x[1].removeAttributeNode(attnode); 
document.write("<xmp>" + xmlDoc.xml + "</xmp>"); 
function get_lastchild(n) 
{ 
 x = n.lastChild; 
 while(x.noteType!=1){ 
  x = x.previousSibling; 
 } 
 return x; 
} 
function get_firstChild(n){ 
 x = n.firstChild; 
 whild(x.nodeType!=1){ 
 x=x.nextSibling; 
 } 
 return x; 
} 
xmlDoc=loadXMLDoc("books.xml"); 
x=xmlDoc.getElementsByTagName("book")[0]; 
deleted_node=x.removeChild(get_lastchild(x)); 
document.write("Node removed: " + deleted_node.nodeName);

Attr对象

Attr 对象表示 Element 对象的属性。

name—返回属性的名称。

nodeName—返回节点的名称,依据其类型

nodeType—返回节点的类型。

nodeValue—设置或返回节点的值,依据其类型

ownerDocument—返回属性所属的根元素(document对象)。

specified—如果属性值被设置在文档中,则返回 true,如果其默认值被设置在 DTD/Schema 中,则返回 false。

value—设置或返回属性的值。

text—返回属性的文本。IE-only。

xml—返回属性的 XML。IE-only。

Text对象的属性

data—设置或返回元素或属性的文本。

length—返回元素或属性的文本长度。

Text对象的方法

appendData(string)—向节点追加数据。

deleteData(start,length)—从节点删除数据。

insertData(start,string)— 向节点中插入数据。

replaceData(start,length,string)—替换节点中的数据。

replaceData(offset)— 把一个 Text 节点分割成两个。

substringData(start,length)— 从节点提取数据。

关于JavaScript操作XML/HTML比较常用的对象属性集锦的全部叙述就到此结束了,更多内容请登陆三水点靠木官网了解更多,谢谢。

Javascript 相关文章推荐
js 图片缩放(按比例)控制代码
May 27 Javascript
读jQuery之十 事件模块概述
Jun 27 Javascript
jquery自定义函数的多种方法
Jan 09 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
Apr 06 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 Javascript
H5用户注册表单页 注册模态框!
Sep 17 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
Aug 10 Javascript
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
详解微信小程序实现跑马灯效果(附完整代码)
Apr 29 Javascript
微信小程序本地存储实现每日签到、连续签到功能
Oct 09 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
Jul 28 Javascript
vue中touch和click共存的解决方式
Jul 28 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
Oct 30 #Javascript
jQuery+Ajax实现无刷新分页
Oct 30 #Javascript
JavaScript中的定时器之Item23的合理使用
Oct 30 #Javascript
javascript字符串替换函数如何一次性全部替换掉
Oct 30 #Javascript
JS实现带提示的星级评分效果完整实例
Oct 30 #Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
Oct 30 #Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
Oct 30 #Javascript
You might like
PHP中simplexml_load_string函数使用说明
2011/01/01 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
基于jQuery实现的向下滑动二级菜单效果代码
2015/08/31 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
Python 3.x 新特性及10大变化
2015/06/12 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
将数据集制作成VOC数据集格式的实例
2020/02/17 Python
关于Keras Dense层整理
2020/05/21 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
2020/05/26 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
三维科技面试题
2013/07/27 面试题
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
介绍一下Linux文件的记录形式
2013/09/29 面试题
室内设计专业学生的自我评价分享
2013/11/27 职场文书
网络编辑岗位职责
2014/03/18 职场文书
自强之星事迹材料
2014/05/12 职场文书
房地产广告策划方案
2014/05/15 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
通信工程求职信
2014/07/16 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
keepalived + nginx 实现高可用方案
2022/12/24 Servers