使用javascript修改onclick链接

使用javascript修改onclick链接,javascript,html,css,Javascript,Html,Css,我正在使用下面的代码将a href更改为onclick: $('.sidenav li a').each(function() { var href = $(this).attr('href'); $(this).attr('onclick', href) .removeAttr('href'); }); 这可以完成工作,但是我无法确定如何更改附加到它的onclick函数。它当前获取href链接并将其应用到onlick,例如onclick=”https://

我正在使用下面的代码将a href更改为onclick:

$('.sidenav li a').each(function() {
     var href = $(this).attr('href');
     $(this).attr('onclick', href)
       .removeAttr('href');
}); 
这可以完成工作,但是我无法确定如何更改附加到它的onclick函数。它当前获取href链接并将其应用到onlick,例如
onclick=”https://stackoverflow.com/“

如果有人知道如何改变这一切,那就太好了


谢谢-斯科特

我不知道这对你是否有帮助,但你可以试试这个

$(“.sidenav li a”)。每个(函数(){
var href=$(this.attr('href');
$(this.attr('onclick','print(${JSON.stringify(href)})`)
.removeAttr('href');
});
函数打印(href){
log('Clicked on',href);
}


onclick
需要一些字符串形式的JavaScript。哈沙德·纳尔凯德的解决方案应该很有效。然而,我想知道这是否真的是你想要的。稍后再谈

要回答您的问题,您可能希望直接向DOM元素添加事件侦听器,而不是更改
onclick
属性:

$('.sidenav li a')。每个(函数(){
const el=$(本);
常量href=el.attr('href');
el[0].addEventListener('click',()=>location.replace(href));
el.removeAttr('href');
});


无需通过。最好在dom中添加事件。告诉我您有什么类型的函数?做您想做的事情很容易(将属性设置为
“window.location=“+href
)。但我忍不住想知道你为什么要这么做?也许有更好的方法来解决潜在的问题,但你不告诉我们那是什么。