-
Javascript
获取网页中
HTML
p>
元素的集中方法分析
getElementById getElementsByName
getElementsByTagName
大概介绍
getElementById
,
getElementsByName
,
getElementsByTagName
后两个
是得到集合,
byid
只是得到单个对象
getElementById
的用法
举个例子:
、
elements<
/p>
、
emb
eds
、
filters
、
forms
、
frames
、
i
mages
、
imports
、
links
、
mimeTypes
、
options
、
pl
ugi
ns
、
rows
、
rules
、
script
s
、
styleSheets
、
tBodies
、
TextRectangl
e
,请参考
MSDN
介绍。
其实方法
3
和方法
4
是一样使用的集合,只是一个是
all
,可以包
括页面所有标记,而
anc
hors
只
包括链接。
5
、
get
ElementById
:
mentById(
6
p>
、
getElementsByName
:
p>
mentsByName(
这也是一个集合,
是所有
n
ame
等于该方法所带参数
的标记的集合
7
、
get
ElementsByTagName
:
men
tsByTagName(
这也是一个集合,是所有标记名
称等
于该方法所带参数的标记的集合
8
、
tag
s
集合:
(
//
与方法
7
一样是按标记名称取得一个集合
除此之外:
ment
可以获得触发时间的标记的引用
;
tFromPoint(x,y)
可
以获得
x
和
y
坐标处的元素的引用
;
entFromPoint(X,Y)
可以获得鼠标
所在处元素的引用
;
还可以通过元素的父子节点和兄弟
节点关系来引用,如
nextSibling(
当前节点的后一
节
点
)
、
pr
eviousSibling(
当前节点的前一节点
)
、
childNodes
、
children
、
firstChild
、
lastChil
d
、
p>
parentElement
等都是父子节点和兄弟节点的一些引用
;
还不仅限于此。
上面是同一页面内的常见引用方法,另外还涉及到不同页面中的
get
ElementsByName
返回的是所有
name
为指定值的所有元素的集合
“
根据
NAME
标签属性的值获取对象的集合。
”
集合比数组要松散的多
,
集合里每个子项的类型可以不同
,
集
合只是把某些元素放在一起作
为一类来使用
,
相比之下数组就严格多了
,
每个子项都是统一的类型
.
ment
sByName, mentsByTagName, ts
这
类方法所得到的结果都是集合
.
例:
Code
mentsByName()
这个方法
.
< br>它对一个和多个的处理是一样的
,
我们可以
用:
Temp =
mentsByName('happy')
来引用
当
p>
Temp
只有
1
个
的时候
,
那么就是
Temp[0],<
/p>
有多个的时候
,
用下标法
Temp[i]
循环获取
也有例外
:
在
ie
中
getElementsByName(“test“)
p>
的时候返回的是
id=test
的
object
数组,而
firefox
则返回的是
name= test
的
object
的数组。
按照
w3
c
的规范应该是返回的是
name= test
的
object
的数组。
fir
efox
和
ie
中的
< br>getElementByID
相同
:
< br>获取对
ID
标签属性为指定值的第一个对象的引
p>
用。
注意
getElementsByName
有
s
在里面
men
tById()
可以控制某个
id
的<
/p>
tag
mentsByName()
,
返回的
是一个具有相同
name
属性的元素的集合,
而不是某个,注意有
“s”
。
而
mentsByTagName()
返回的是一组相同
TAG
的元素集合。
他
return
一个
collection
,引用的时候要指名
index
同
一
个
p>
name
可
以
有<
/p>
多
个
element
,
所
以
用
mentsByName(