您的位置:首页 > 其它

让getElementsByName适应IE和firefox

2009-05-31 19:08 363 查看
getElementsByName在firefox中是按 name名来取元素成一个数字。。。

在IE下与getElementById一样,,,所以 iE下不标准。。少用此方法 ;

如果非要用,应另写一兼容的方法:

给一个name及name所在的标签名;

function
getElementsByName_iefix(
tag, name
)
{

var
elem = document.getElementsByTagName
(
tag)
;

var
arr = new
Array(
)
;

for
(
i = 0
,iarr = 0
; i < elem.length
; i++)
{

att = elem[
i]
.getAttribute
(
"name"
)
;

if
(
att == name
)
{

arr[
iarr]
= elem[
i]
;

iarr++;

}

}

return
arr;

}

如果标签是td,给一个name就可以了;

[code]function

getElementsByName

(
name

) {

var
returns
=
document
.
getElementsByName
(
name

);

if(
returns
.
length
>
0
) return
returns

;

returns

= new Array();

var
e
=
document
.
getElementsByTagName
(
'td'

);

for(
i
=
0
;
i
<
e
.
length
;
i

++) {

if(
e
[
i
].
getAttribute
(
"name"
) ==
name

) {

returns
[
returns
.
length
] =
e
[
i

];

}

}

return
returns

;

}

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: