使用其它方法来存取元素计划

电热设备2021年09月06日

到目前为止你所看到的范例script 程序中,都是借着浏览节点的阶层结构,利用childNodes 与firstChild 两个节点属性来从某节点往相邻节点移动。记住,你可以用类似的方法来使用lastChild、previousSibling、nextSibling 和parentNode 等节点属性。表格 详细描述了这些节点属性。

注意

childNodes、firstChild 与lastChild 属性只准许你存取非属性的子节点,而previousSibling 与nextSibling 属性则让你可以存取任何形态的兄弟节点。

另一种存取XML 元素的方法,是使用getElementsByTagName 方法来撷取拥有特殊形态名称的所有元素(像TITLE)。这个方法在Document 节点(于表格 中介绍)以及Element 节点(于表格 中介绍)都可以使用。如果你为Document 节点呼叫这个方法,它会传回文件中所有拥有特定型态名称元素的Element 节点集合。例如,下面的程序代码会取得文件中所有为BOOK 形态元素的Element 节点集合:

NodeList =tElementsByTagName(\"BOOK \");

如果呼叫Element 节点的getElementsByTagName 方法,如下面例子所示,则方法将传回所有符合条件的子Element 节点集合:

NodeList =tElementsByTagName(\"AUTHOR \");

提示

如果你传入「*」值给getElementsByTagName 方法,其将传回所有元素的节点集合。(如果你呼叫的是Document 对象的方法,则其会传回文件中所有元素的集合;如果呼叫的是Element对象的方法,则其会传回所有后继元素的集合。)

Element 节点方法节点方法 描述 范例 getAttribute(attr-name) 传回拥有特定名称的Element 属性的属性值 AttValue =tAttribute(\"InStock\"); GetAttributeNode(attr-name) 传回代表拥有特定名称的Element 属性的Attribute 节点 Attribute=tAttributeNode(\"InStock\"); getElementsByTagName(type-name) 传回该元素中拥有特定型态的所有后继元素的Element节点的NodeList对象。.如果你传入参数值「*」时,方法将传回所有代表后继元素的节点 AuthorElementCollection=tElementsByTagName(\"AUTHOR\"); 表格 Element 节点所提供有用的方法。在Element 节点中你也可以使用表格 中所列的共同节点属性。

getElementsByTagName 方法以NodeList 集合对象的形态,传回给Element 节点。因此你可以使用本章先前在<使用NodeList 对象>中讨论过的任何技术,来存取个别的节点。例如,下面的script 程序,将显示(藉由「alert」的讯息显示框)由getElementsByTagName 方法所传回的NodeList 对象中所有Element 节点的文字内容:

for (i=0;i ngth;++i)

alert (NodeList(i).text);

列表 的HTML 页显示了在Document 节点中使用getElements-ByTagName 方法的用法。(你可以在随书光盘中的m 档案中找到列表。)该页显示一个文字(TEXT)形态的输入(INPUT)控件,让你可以输入元素名称。当你按下 Show Elements 按钮时,script中的ShowElements 函式将在文件节点中使用getElementsByTagName 方法来搜寻,并显示文件中符合输入元素名称的所有元素XML 卷标的内容。注意,script 中使用每个Element 节点的xml 属性来显示元素的XML 卷标内容。页一开始就被连结至文件l 中,虽然你可以文件中的data island来显示其它XML文件中的元素。下图是在你输入AUTHOR到INPUT

控件并按下按钮时,Internet Explorer 5 显示该页的情况。

m

!--File Name:m --

HTML

HEAD

TITLEElement Finder/TITLE

SCRIPT LANGUAGE=\"javascript\"

function ShowElements()

{

/*make sure user has entered text into the

\'\'Element name\'\' box::*/

if (lue ==\"\")

{

nerText =\"You must enter an

element\"

+\"name into \'\'Element name\'\' box..\";

return;

}

/*get a NodeList collection of all matching Element

nodes in the document:*/

Document =LDocument;

而克鲁格曼干脆就被贴上了“萧条经济学家”的标签 NodeList =

tElementsByTagName

(lue);

/*store the XML markup for each Element node

in ResultHTML:*/

ResultHTML =\"\";

for (i=0;i ngth;++i)

ResultHTML +=NodeList(i).xml +\"\\n \\n\";

/*assign the stored results to the innerText property

of the DIV:*/

if (ResultHTML ==\"\")

nerText =\"no matching elements

found\";

else

nerText =ResultHTML;

}

/SCRIPT

/HEAD

BODY

XML ID=\"dsoXML\" src=\"l\"/XML

H2Find Elements by Element Name/H2

Element name:INPUT TYPE=\"TEXT\" ID=\"ElementName\"

BUTTON onCLICK=\"ShowElements()\"Show Elements/BUTTON

HR

DIV ID=ResultDiv/DIV

/BODY

/HTML

头晕
南宁卵巢炎治疗多少钱
佳木斯白癜风专业医院
相关阅读
HKC高端MiniLED新品将要上市,4K+144HZ还有90W一线通

HKC显示器隶属于惠科显示终端乒乓,惠科在屏显新科技及趋势新产品研制出上...

2023-11-02
国家统计局发布2021年平均工资数据:IT业最高者

5月20日,核算公开发表2021年人均数据,2021年省内小镇非私营基本单位就业医...

2023-10-24
月内已交付7艘船!新大洋造船交付嘉航海运第2艘75000吨内贸散货船

5年底16日,最初深海技工为泰州嘉航海运香港)有限公司兴建的第二艘75000乘...

2023-10-22
拍好人像设备很重要,看看这三款手机展示出如何?

拍人像三要素,都进来学习一下! 1、人好看 2、人好看 3、还是人好看 大家...

2023-10-20
混动界“新卷王”来了,广汽传祺裨益浪混动GMC2.0正式量产下线!

7月6日,广汽传祺甚多潮复合动GMC2.0正式量产大批量。作为广汽传祺双复合动...

2023-10-19
汪汪狗狗去郊游,会发生什么事情呢玩沙子 小孩子的快乐总是那么简单 陪伴孩子的美好时光 ;还有 工程车

汪汪狗狗去郊游,会起因什么事情呢玩到泥土 大人的快乐也许那么简单 陪伴孩...

2023-10-12
友情链接