首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用带有香草Javascript的部分ID捕获对元素的单击?

如何使用带有香草Javascript的部分ID捕获对元素的单击?
EN

Stack Overflow用户
提问于 2019-01-03 18:46:35
回答 1查看 267关注 0票数 0

我希望在单击一系列元素中的某个元素时运行函数,并希望使用部分ID来锁定这些元素。目前,只有第一个元素在单击时才会响应。我做错了什么?我的代码:

HTML:

代码语言:javascript
复制
<div>
    <a id="selector-0">Zero</a>
</div>
<div>
    <a id="selector-1">One</a>
</div>
<div>
    <a id="selector-2">Two</a>
</div> 

联署材料:

代码语言:javascript
复制
document.querySelector('[id^="selector-"]').onclick = function(){
    var id_selector = this.getAttribute('id');
    alert('ID: ' + id_selector);
}

我试图将querySelector更改为包含‘aid^=’选择器-‘,但是只有第一个元素希望在单击时作出响应。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-03 18:50:18

使用*=选择器,其中id为属性,document.querySelectorAlldocument.querySelectorAll

然后将onclick添加到给定的检索元素数组的所有元素中。

代码语言:javascript
复制
const els = Array.from(document.querySelectorAll('[id*=selector-]'));
console.log(els.length);
els.forEach(el => el.onclick = () => console.log('Clicked el:', el));  
代码语言:javascript
复制
<div>
    <a id="selector-0">Zero</a>
</div>
<div>
    <a id="selector-1">One</a>
</div>
<div>
    <a id="selector-2">Two</a>
</div> 

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54028083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档