Javascript 基于锚的InnerHTML生成链接以转换时区

Javascript 基于锚的InnerHTML生成链接以转换时区,javascript,Javascript,我有一个很大的html事件列表,其中包含不同的时间表,需要转换为本地时区。所以我的想法是把所有的时间都链接到一个定制的鸭子搜索 现在我的问题是生成每个锚的单独链接,它只适用于第一个锚。我无法手动为每个链接分配id <div class="links"> <a href="javascript: null" >8 pm</a> <a href="javascript: null" >9 am

我有一个很大的html事件列表,其中包含不同的时间表,需要转换为本地时区。所以我的想法是把所有的时间都链接到一个定制的鸭子搜索

现在我的问题是生成每个锚的单独链接,它只适用于第一个锚。我无法手动为每个链接分配id

<div class="links">
<a href="javascript: null" >8 pm</a>
<a href="javascript: null" >9 am</a>
<a href="javascript: null" >10 pm</a>
<a href="javascript: null" >3 am</a>
<a href="javascript: null" >5 pm</a>
</div>

<script>
document.querySelector('.links a').addEventListener("click", function () {
    window.location.href = "https://duckduckgo.com/?q="+this.innerHTML+"+GMT+to+local+time&ia=answer";
});
</script>

document.querySelector('.links a')。addEventListener(“单击”,函数(){
window.location.href=”https://duckduckgo.com/?q=“+this.innerHTML+”+GMT+to+local+time&ia=answer”;
});
这是我的第一次尝试,我是javascript的初学者,但我不想使用jquery或其他库。 (将来我想尝试如何使用duckduck go api进行时间转换,并在工具提示或模式中显示它。但首先我需要解决这第一步)


谢谢。

如果要将单击事件附加到多个元素,应选择所有元素,并将事件侦听器分别添加到所有元素

下面是一个简单的方法

var links = document.getElementsByTagName('a');

 for (var i = 0; i < links.length; i++) {
    links[i].addEventListener("click", function () {
        window.location.href = "https://duckduckgo.com/?q="+this.innerHTML+"+GMT+to+local+time&ia=answer";
    });
 }
var links=document.getElementsByTagName('a');
对于(变量i=0;i
注意

querySelector”返回文档中与指定选择器或选择器组匹配的第一个元素。如果没有找到匹配项,则返回null,因此在本例中,您将事件侦听器添加到第一个a标记中


getElementsByTagName”返回具有给定标记名的元素的实时HTMLCollection,这意味着页面中具有该标记的所有元素都将附加侦听器。

使用document.getElementsByTagName(“a”)选择所有标记。