在JS中操作按钮的链接

问题描述 投票:0回答:1

我试图操纵按钮的超链接,但与此无关,也不确定我要去哪里。

代码:

<link rel="stylesheet" href="https://cdn.site.td/Calendar.css">
<script type="text/javascript" src="https://cdn.site.td/Calendar.js"></script>
<div id="the-calendar"></div>
<script>
   document.addEventListener("DOMContentLoaded", function() {
   var options = {
   fullNames : false
   };
   var myCalendar = new Calendar(document.getElementById('the-calendar'), options);
   });
</script>

这会生成一个事件日历,该日历将加载到单独的网站上。当将它加载到一个单独的域上时,它完美运行,除了一件事。有一个事件的更多信息按钮,当您单击它时,它会尝试转到:

/folder/folder/folder/event-name-1

因此,当我在单独的域上生成它时,它将尝试使用相同的文件夹路径,但当前域除外。因此,由于两个域上的文件夹都不相同,因此无济于事。

我想向按钮添加onClick事件以操纵超链接的路径。

按钮是:

<button class="calendar-icon-info-action">More info</button>

请记住,直到上面的初始脚本加载并用日历的HTML填充页面后,才会生成此按钮。>

因此,一旦加载了日历,我需要每个更多的信息链接,以便对每个事件进行操作以添加原始域路径。我需要一个变量来存储原始路径,因为它也不会改变。

所以回顾一下更多的潜在客户生成:

/folder/folder/folder/event-name-1

我希望将其存储在变量中,然后将域的另一个变量存储在一起,这样它就变成了这样:

var a = "domain.tld";
var b = "/folder/folder/folder/event-name-1";
var c = a + b;

document.getElementsByClassName("calendar-icon-info-action")[0].addEventListener("click", function(){
document.getElementsByClassName("calendar-icon-info-action")[0].href = var c;
});

我试图操纵按钮的超链接,但与此无关,也不确定我要去哪里。代码:

javascript button hyperlink addeventlistener getelementsbyclassname
1个回答
0
投票

href属性仅适用于标签(链接)。由于您有一个<button>,因此您可以做的是拦截并阻止原始事件,然后将页面重定向到所需的URL。

© www.soinside.com 2019 - 2024. All rights reserved.