如何在javascript中将列表项的字符串值打印到控制台日志中?
我正在使用w3schools提供的教程,该教程允许您单击列表中的项目并更改背景颜色。我需要从列表项中提取字符串并对其进行处理。因此,我从写入控制台日志开始如何在javascript中将列表项的字符串值打印到控制台日志中?,javascript,Javascript,我正在使用w3schools提供的教程,该教程允许您单击列表中的项目并更改背景颜色。我需要从列表项中提取字符串并对其进行处理。因此,我从写入控制台日志开始 // Add a "checked" symbol when clicking on a list item var list = document.querySelector('ul'); list.addEventListener('click', function(ev) {
// Add a "checked" symbol when clicking on a list item
var list = document.querySelector('ul');
list.addEventListener('click', function(ev) {
if (ev.target.tagName === 'LI') {
ev.target.classList.toggle('checked');
var result = document.getElementsBytagName('LI').innerHTML;
console.log(result);
}
}, false);`
谢谢我不确定这是否是您想要做的,但我认为您可以使用
事件.target
对象
var list=document.querySelector('ul');
list.addEventListener('click',函数(事件){
如果(event.target.tagName=='LI'){
event.target.classList.toggle('checked');
//获取已单击列表项的字符串
var result=event.target.innerHTML;
//您还可以使用innerText获取字符串
//不带任何html标记的内的内容
//var result=event.target.innerText;
控制台日志(结果);
}
}
event.target
对象返回启动事件的HTML DOM元素:下面是一个console.log示例,可能对您有所帮助
index.html
<ul>
<li class="myList">1</li>
<li class="myList">2</li>
<li class="myList">3</li>
</ul>
您不应该为列表中的每个项目添加事件侦听器?您可以共享到W3Schools页面的链接吗?谢谢。它可以工作,但我得到了字符串+x。您知道如何删除该部分吗。(我正在尝试制作一个Microsoft加载项,该加载项将签名放入电子邮件。我需要列表中的文本放入签名。)@RyanAdams你能分享你代码中的HTML部分吗?似乎span是列表项的子元素。另外,这里还有另一个堆栈溢出链接,关于如何只获取HTML元素的第一个文本节点:谢谢。我找到了。var result=event.target.firstChild.nodeValue;效果很好。再次感谢。
let elements = document.getElementsByClassName("myList");
for (element of elements) {
element.addEventListener('click', function(event) {
console.log(event.target.innerHTML);
})
}