gpt4 book ai didi

javascript - 无法通过 hashchange 正确地将 URL 写入 HREF

转载 作者:行者123 更新时间:2023-11-30 17:41:35 25 4
gpt4 key购买 nike

我正在尝试执行 document.write() 以针对以下 3 个条件(#pane1、#pane2、#pane3)中的每一个显示动态 new.php HREF。

目前我可以获得要显示的 URL,但只能包含单引号(它没有写入正确的值,它只是显示/写入人们期望的文本)。如果我去掉 newURL 变量周围的引号,我会得到“ReferenceError: newURL is not defined”并且整个 Add New 文本不会按预期显示。

<script type="text/javascript">
$(function(){

var newURL="";

// Bind the event.
$(window).hashchange( function(){

if(location.hash=="#pane1") {
alert( location.hash );
newURL="new1.php";
}

if(location.hash=="#pane2") {
alert( location.hash );
newURL="new2.php";
}

if(location.hash=="#pane3") {
alert( location.hash );
newURL="new3.php";
}

})

// Trigger the event (useful on page load).
$(window).hashchange();

});

</script>

<li>
<script type="text/javascript">
document.write('Add New'.link('newURL'));
</script>
</li>

最佳答案

document write 可以在 document ready 事件触发之前执行,而且该变量在 document ready 函数范围中。尝试将 var 声明放在 jquery 范围之外:

var newURL="";

$(function(){
...

然后在底部:

<script type="text/javascript">
document.write('Add New'.link(newURL));
</script>

或者也将它包装在文档就绪函数中,以确保在您触发窗口对象上的 hashchange 事件后执行该行。

关于javascript - 无法通过 hashchange 正确地将 URL 写入 HREF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20967025/

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