如何使用JavaScript修改按钮URL 代码错误排查与修正
代码错误说明
你的实现代码共有3处问题:
- 操作对象错误:
<a>标签的跳转URL存储在元素的href属性上,并非元素内部的innerHTML内容,调用innerHTML.replace()完全无法修改跳转地址;另外String.replace()方法只会返回修改后的新字符串,不会原地修改原内容,就算要修改文本内容,也需要把返回值重新赋值给对应属性才会生效。 - 语法错误:定义
tURL变量时字符串前后引号不匹配,开头使用双引号,结尾遗漏了对应的闭合双引号,会导致JS直接抛出语法错误中断执行。 - 标签缺失:代码片段中没有写
</script>闭合标签,会造成HTML解析异常。
修正后代码
只需要获取目标a标签的DOM对象后,直接为其href属性赋值目标URL即可,不需要操作元素内部内容,元素原有的样式、类名、打开方式、内部图标和文字都会完整保留:
<a class='button' href="#" target="_blank" id="download_link" style="display: none;"><i class='icon download'></i>Download Now</a> <script type="application/javascript"> var tURL = "https://google.com"; var download_link = document.getElementById("download_link"); // 直接修改href属性完成URL替换 download_link.href = tURL; </script>
如果你需要确认修改结果,可以在赋值代码后加一句
console.log(download_link.href),打开浏览器控制台就能看到修改后的地址已经生效。
内容的提问来源于stack exchange,提问作者Raz Bro
相关产品推荐
相关产品推荐

