javascript - 尝试向 LI 元素添加单击事件处理程序并获取警报框中的内容
问题描述
我正在尝试将单击事件处理程序添加到 LI 元素并在警报框中获取其内容。只有元素的第一个内容被提取到警报框中。你能帮我获取点击事件中每个元素的文本吗?
document.querySelectorAll("ul")[1].onclick = function(){
alert(this.innerText);
}
<div class="container">
<ul class="item-container">
<li><a class="items" href="#">Item 1</a></li>
<li><a class="items" href="#">Item 2</a></li>
<li><a class="items" href="#">Item 3</a></li>
<li><a class="items" href="#">Item 4</a></li>
<li><a class="items" href="#">Item 5</a></li>
<li><a class="items" href="#">Item 6</a></li>
</ul>
</div>
解决方案
您可能希望为每个li
元素添加一个单击事件,而不是ul
.
这是一个例子:
[...document.querySelectorAll("li")].forEach(li => li.onclick = function(){
alert(this.innerText);
});
<div class="container">
<ul class="item-container">
<li><a class="items" href="#">Item 1</a></li>
<li><a class="items" href="#">Item 2</a></li>
<li><a class="items" href="#">Item 3</a></li>
<li><a class="items" href="#">Item 4</a></li>
<li><a class="items" href="#">Item 5</a></li>
<li><a class="items" href="#">Item 6</a></li>
</ul>
</div>
推荐阅读
- arrays - Ruby - 在数组元素中打印字符串的第一部分
- excel - 使用命令按钮将所有图片压缩为电子邮件大小像素 (96)PPI
- c - 我写了一个函数,它将整个文件读入一个字符串,但它不起作用
- javascript - MaterialTable 无法填充它
- javascript - ESLint 使用 `obj?.fn()` 可选链接抛出 no-unused-expressions
- reactjs - Firefox私人窗口片状localStorage?
- python - python中beautifulsoup.find()的问题
- angular - 以完全不同的格式打印角度组件(视图)
- c# - 在 CEF 中发送 JSON Post 请求
- android - 错误:支持的最低 Gradle 版本为 5.6.4。当前版本是 5.2.1