我在网站上有一些链接,我需要指向一个告诉用户他们要离开网站的页面。所有这些链接上都有一个onClick函数,normall触发一个警告告诉他们他们要离开网站 例如,这通常会触发警报:
<a href="http://www.example.com" onclick="return displayWarning(1, this);">Example</a>
我要做的是向该displayWarning()函数添加功能,这样如果它传递整数'1'作为参数,它会将用户带到新页面,例如: http://www.mySite.com/warning?url=http://www.example.com
现在我正在使用它:
if(msg == 0) {
window.location.href='/warning?url='+($(this).href);
}
我也试过这个,看看我是否可以在加载时更改它们,但似乎遇到了同样的问题:
$(document).ready(function(){
$("a[onClick='return displayWarning(1, this);']").attr('href', '/warning?url='+$(this).attr('href'));
});
但是,url没有被正确定义,因为我很确定$(this)的上下文没有设置为我试图调用它的方式。
我已经看到下面提到的类似问题,但它们似乎没有解决我的问题,因为他们中的大多数都使用链接类或只是将所有链接更改为某个值。
How to change the href for a hyperlink using jQuery jQuery attr href, why isn't it working?
感谢。
答案 0 :(得分:1)
我认为这就是你想要的:
location.href='/warning?url='+encodeURIComponent(location.href);
答案 1 :(得分:0)
我无法理解你想要实现的目标......为什么不用你已经这个作为参数在你的displayWarning函数中添加一个if?
function displayWarning(parameter, anchor){
if(parameter == 1){
$(anchor).attr("href", "http://example.com");
}
}
答案 2 :(得分:0)
谢谢大家,但我最终回答了这个问题。事实证明,我正在使用的函数内置了一个对象(我没有写它),这使我能够获取href值。 但是,我想知道是否有更快的方法来实现它。