动态链接生成和纯javascript
我有这样一个链接:动态链接生成和纯javascript,javascript,Javascript,我有这样一个链接: <a href="http://www.example.com/">test</a> 如何使点击链接转到http://www.example.com/“+这是使用纯javascript编写的 (因此,单击会生成一个动态url,其末尾有变量t)您可以为您的锚提供一个id: <a href="http://www.example.com/" id="mylink">test</a> 显然,如果将此脚本放在部分,则可能需要等待DO
<a href="http://www.example.com/">test</a>
如何使点击链接转到http://www.example.com/“+这是使用纯javascript编写的
(因此,单击会生成一个动态url,其末尾有变量t)您可以为您的锚提供一个id:
<a href="http://www.example.com/" id="mylink">test</a>
显然,如果将此脚本放在
部分,则可能需要等待DOM准备就绪,然后再尝试附加单击处理程序:
window.onload = function() {
document.getElementById('mylink').onclick = function() {
window.location.href = this.href + t;
return false;
};
};
如果您无法修改DOM以向锚点提供唯一id,则可以使用该方法,该方法将返回一个包含DOM中给定标记的所有元素的数组,然后您必须循环遍历这些元素并将
onclick
处理程序附加到锚点。为了在您可能拥有的所有链接之间识别它,您必须使用其innerHTML文本或当前的href属性。基于Darin solition,这将打开一个新窗口,并且不会修改原始内容
window.onload = function() {
document.getElementById('mylink').onclick = function() {
window.open(this.href + t);
return false;
};
};
我删除了jQuery标记,因为您似乎想要一个不涉及任何库的解决方案。如果你想使用jQuery,只需将其回滚,尽管你也会发现jQuery也存在这样的问题。Hei Darin,这没关系,但每次我单击链接时,它都会将t添加到链接中…因此,如果我单击两次,它就会恢复正常?@David19801,通常当你单击链接时,你会被重定向到另一个页面,那么,你怎么能在这个链接上点击两次呢?点击,返回,再次点击……但我真的希望它能用鼠标中键在新窗口中打开链接……有什么想法吗?@David19801,我已经用另一种方法更新了我的代码,包括取消默认操作并使用window.location.href执行重定向。这样您就不会修改实际DOM元素的href属性。这比这个要好。href=This.href+t,但是有没有办法让它使用鼠标中键工作,这样它就可以加载到新页面中,而不会永久重写href?我一直在阅读javascript的语法,我认为到目前为止这是不可能的…好吧,我用open()完成了!!!
window.onload = function() {
document.getElementById('mylink').onclick = function() {
window.location.href = this.href + t;
return false;
};
};
window.onload = function() {
document.getElementById('mylink').onclick = function() {
window.open(this.href + t);
return false;
};
};