gpt4 book ai didi

javascript - Chrome 中使用 getElementByTagName 的 NamedItem 方法不起作用?

转载 作者:行者123 更新时间:2023-11-28 13:44:44 26 4
gpt4 key购买 nike

我的 JavaScript 代码如下:

var prop="author";
var optele = theform.getElementsByTagName("input");
alert(optele[prop]);

但在 Chrome 中,即使我确定“作者”标签存在,它也会返回“未定义”。相反,在 IE 和 Firefox 中运行良好。

但我注意到 IE 和 Firefox 中的 optele var 中有一个“namedItem”方法,但 Chrome 中没有。

有人可以帮助我在 Chrome 上运行类似的代码语法吗?

最佳答案

那是因为 IE 和 FF 返回 HTMLCollection [MDN]而不是 NodeList [MDN]NodeList 无法通过名称或 ID 提取元素(namedItem method [MDN] 的作用)。

解决方案是不使用此功能,而是迭代节点并比较 name 属性。或者您可以使用 document.getElementsByName [MDN] .

来自 MDN getElementsByTagName documentation :

Note: While the W3C specification says elements is a NodeList, this method returns a HTMLCollection both in Gecko and Internet Explorer. Opera returns a NodeList, but with a namedItem method implemented, which makes it similar to a HTMLCollection. As of January 2012, only in WebKit browsers is the returned value a pure NodeList. See bug 14869 for details.

关于javascript - Chrome 中使用 getElementByTagName 的 NamedItem 方法不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15295717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com