2014-12-02 108 views
1

这里是我的JavaScript部分:如何根据页面内容更改javascript中的url href?

function dateCheckThree() 
{ 
    var d = new Date(); 
    var n = d.getDay() 
    var lukeTre = document.getElementById("Luke3"); 
    if (n === 2) 
    { 
     lukeTre.href="home.html"; 
     confirm("Sorry, you gotta wait untill 3.Desember to enter this page.") 
    } 
} 

这是我的HTML部分:

<a href="Luke3.html" id="Luke3" onClick="dateCheckThree()"> 
    <div-1c> 3 </div-1c> 
    </a> 

注:JavaScript的sentenece是真的只是为了测试目的。 当我点击链接时,我被引导到Luke3.html

+0

您需要防止更改“href”之前的链接的默认操作。否则,单击时它将跟随当前的'href'并忽略您的单击事件处理程序。 – melancia 2014-12-02 11:54:28

回答

2

防止锚标记的默认行为是:

function dateCheckThree(e) 
{ 

    var d = new Date(); 
    var n = d.getDay() 
    var lukeTre = document.getElementById("Luke3"); 
    if (n === 2) 
    { 
     e.preventDefault(); 
     alert("Sorry, you gotta wait untill 3.Desember to enter this page.") 
     lukeTre.href="home.html"; 

    } 
} 
+1

'e.preventDefault();'应该在'if'条件中。他想要重定向,如果'n!= 2' – 2014-12-02 11:56:05

+0

你是对的@ClaudioRedi – 2014-12-02 11:57:40

+0

仍然无法正常工作。引导我Luke3.html – 2014-12-02 12:02:36

0

你需要确认之前重定向,并获得值,如果你想确认。 但我想,你想用alert而不是confirm

var redirect = confirm("Sorry, you gotta wait untill 3.Desember to enter this page."); 
if (redirect) { 
    lukeTre.href = "home.html"; 
} 

因此,我认为,你想要什么东西像这样(覆盖状态):

if (n === 2) { 
    lukeTre.href = "home.html"; 
} else { 
    alert("Sorry, you gotta wait untill 3.Desember to enter this page."); 
} 
相关问题