【问题标题】:document.getElementById in chromechrome 中的 document.getElementById
【发布时间】:2016-02-21 12:09:21
【问题描述】:

嘿,我有一些与 Explorrer 一起使用的网站。 我必须在 Chrome 和 FireFox 上支持它。 当我尝试在 Chrome 中运行该站点时,我在这一行中遇到了错误:

行:

function NavigateSlip(target, linkC) {
 
var l;
try {
    for (x = 1; x <= 11; x++) {
        l = topAppFrame.frames["HMain"].document.getElementById("link" + x);
        l.style.backgroundColor = "#003366";
    }
} catch (e) {

}

   
var linkC = topAppFrame.frames["HMain"].document.getElementById(linkC);
linkC.style.backgroundColor = "red";

topAppFrame.document.frames['SlipArea'].location = target;

}

错误: 未捕获的类型错误:无法读取未定义的属性“getElementById”

谢谢

【问题讨论】:

  • 向我们展示 HTML 代码。
  • 我假设您没有将id 属性添加到您正在尝试getElementById 的元素中。它在IE 中工作,因为如果id 属性不存在则IE 搜索name 属性,所以它适用于IE。但对于 chrome 和 FF,您必须指定 id 属性。
  • 那行之前linkC 的值是多少?
  • 所有主流浏览器都支持 getElementById() 方法,包括 chrome 和 firefox - Browser Support。请console.log(linkC);告诉我它的价值...
  • @WisdmLabs 这是关于 documentframe 未设置 - FF 和 Chrome 无法定位有问题的框架或框架没有 document 所以这反过来变为undefined - 不支持undefined.getElementById('...') ^.^

标签: javascript html google-chrome web


【解决方案1】:

尝试使用这个:

var linkC = topAppFrame.frames["HMain"].document.getElementById("linkC");

如果它不起作用,如果你也向我们展示其他代码会很有帮助

【讨论】:

  • getElementById 调用中甚至没有看到未引用的linkC 参数!
  • 如果这是一个问题,我希望看到一个参考错误。这不可能是这里的问题,因为错误消息清楚地表明 topAppFrame.frames["HMain"].documentundefined 所以更改传递给不存在的函数的参数将无济于事。
  • 没有帮助。我把整个函数都放了
猜你喜欢
  • 2011-12-04
  • 1970-01-01
  • 2011-10-05
  • 1970-01-01
  • 2010-11-08
  • 1970-01-01
  • 2014-12-22
  • 2018-03-26
  • 2021-05-18
相关资源
最近更新 更多