我正在尝试执行document.write()以显示以下3个条件中的每一个的动态new.php HREF(#pane1,#pane2,#pane3)。
目前,我可以获取要显示的URL,但只包含单引号(不会写出正确的值,它只会显示/写入文本)。如果我取出newURL变量周围的引号,我会得到“ReferenceError:newURL未定义”,并且整个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>
答案 0 :(得分:2)
document write
可以在文档就绪事件触发之前执行,该变量也在文档就绪功能范围中。尝试将var声明放在jquery范围之外:
var newURL="";
$(function(){
...
然后在底部:
<script type="text/javascript">
document.write('Add New'.link(newURL));
</script>
或者将它包装在文档就绪函数中,以确保在触发窗口对象上的hashchange事件后执行此行。