gpt4 book ai didi

javascript - document.getElementById 在 Firefox 中返回元素,但在 Chrome 中不返回元素

转载 作者:行者123 更新时间:2023-11-28 10:15:15 27 4
gpt4 key购买 nike

我正在尝试在网页加载后单击按钮动态加载 coverflow 类型对象(认为 itunes coverflow 但不太花哨)。我正在动态创建一个图像列表,以提供给封面流的 JavaScript,然后加载它们,并让它看起来很漂亮。问题是,在 Firefox 中,代码可以正常工作,但在 chrome 和 ie 中(令人惊讶的是),JavaScript 抛出错误,并且由于下面的错误抛出,页面变为空白。问题出在这段代码试图通过 id 捕获 dom 元素

if (typeof(this.Container) == 'string') { // no node
var container = document.getElementById(this.Container);
if (container) {
this.Container = container;
} else {
throw ('ContentFlow ERROR: No element with id \''+this.Container+'\' found!');
return;
}
}

在 Chrome 中,当圆顶元素在页面中确实可用时,上面的代码不会捕获它。我什至在 chrome 控制台中输入了 document.getElementById("container_name"); ,它返回了该元素,所以我不知道为什么它在文件中不起作用。

如有任何建议,我们将不胜感激

谢谢

编辑:

这是正在尝试填充的页面 html

<div id="contentFlow" class="cool_ui ContentFlow">
<p id="coverflow_school_name"></p>
<div class="loadIndicator"><div class="indicator"></div></div>
<div class="flow" style="height:240px;"></div>
<div class="scrollbar">
<div class="slider"></div>
</div>
</div>

已回答:

哇,好的。我想到了。问题在于在调用该代码段之前动态加载某些资源的方式。资源加载导致页面变为空白,从而使 var container = document.getElementById(this.Container);返回 null 因此抛出异常。奇怪的是 Firefox 可以处理资源加载,但 chrome 却不能。

感谢您的帮助

最佳答案

为什么不使用jquery?

 $('#container_name')

更新:第二次阅读时,这是元素的名称还是 Id?

如果是名称,则使用

$('[name="container_name"]')

关于javascript - document.getElementById 在 Firefox 中返回元素,但在 Chrome 中不返回元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698640/

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