gpt4 book ai didi

javascript 仅在代码中的某一行以下停止工作

转载 作者:行者123 更新时间:2023-11-28 20:37:53 25 4
gpt4 key购买 nike


奇怪的是代码可以工作,但在某一行以下什么都不会工作,甚至没有警报,并且变量会丢失值!

代码非常简单:

// retrieving scroll position from a hidden text input<br>
var scrollPos = document.getElementById("scrollPosition").value;

// at this point scrollPos value is a certain number :)

// so i'm successfully able to change the HREF accordingly! :)<br>
document.getElementById("page1").href = "page1.php?pos="+scrollPos;<br>
document.getElementById("page2").href = "page2.php?pos="+scrollPos;<br>
document.getElementById("page3").href = "page3.php?pos="+scrollPos; // same value to all!

document.getElementById("page4").href = "page4.php?pos="+scrollPos;<br>
// at some weird point scrollPos loses its value! :(

实际上,在故障点之后什么都不起作用,甚至没有警报(“测试”)!

最佳答案

如果调用 document.getElementById("something"),并且页面上没有 id 为 "something" 的元素,Javascript 将返回 null 。如果您随后尝试访问 nullhref 属性,Javascript 将引发异常并停止所有处理。

您可以在浏览器中打开 Javascript 控制台来查看错误消息,例如 TypeError: Cannot set property 'href' of null

您可以执行以下操作来避免该错误并避免对一般页数进行硬编码:

var page, elem;
for (page = 1; elem = document.getElement("page"+page); ++page) {
elem.href = "page" + page + ".php?pos=" + scrollPos;
}

关于javascript 仅在代码中的某一行以下停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15013416/

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