首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firefox3.5和IE8中的getAttribute无法正常工作

Firefox3.5和IE8中的getAttribute无法正常工作
EN

Stack Overflow用户
提问于 2009-06-26 19:41:51
回答 3查看 2.5K关注 0票数 1

我正在创建一个javascript函数,它将在页面中找到一个锚点(特别是使用,而不是id),然后遍历它的父级,直到它到达包含某个类的锚点。我使用了以下代码,它在Firefox3.0中运行良好,但在Firefox3.5和Internet Explorer8的getAttribute中都失败了。

代码语言:javascript
复制
var tab = document.getElementsByName(headerName).item(0);

while (tab.getAttribute('class') != 'card') {
    tab = tab.parentNode;
}

我知道这在jQuery中很容易,但我受到很大的限制。在这些新浏览器中,getAttribute发生了怎样的变化?我能做些什么来解决这个问题?

EN

回答 3

Stack Overflow用户

发布于 2009-06-26 19:50:05

试试tab.className

票数 4
EN

Stack Overflow用户

发布于 2009-06-26 20:31:30

所以我的第一个猜测是,如果.className不返回任何内容,那么tab是未定义的。

我在想是不是出了什么问题

代码语言:javascript
复制
document.getElementsByName(headerName).item(0);

使用Firebug在while循环上设置断点,然后在控制台中键入“Tab键”并按Enter键。如果没有适用于FF 3.5的Firebug。尝试使用它来找到其他方法来获取所需的元素。

票数 1
EN

Stack Overflow用户

发布于 2010-12-03 07:43:39

document.getElementsByName()在IE中不起作用。

http://webbugtrack.blogspot.com/2007/08/bug-411-getelementsbyname-doesnt-work.html

根据web标准,该函数应该返回具有给定"name“属性值的所有元素,或者只返回表单的输入元素。

http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-71555259

http://www.w3.org/TR/xhtml1/#h-4.10

也许,为“类”属性指定名称并使用document.getElementsByTagName()可以迭代文档的特定元素,但是扫描给定类型的所有标记会很慢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1050869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档