如何在javascript中将列表项的字符串值打印到控制台日志中?

如何在javascript中将列表项的字符串值打印到控制台日志中?,javascript,Javascript,我正在使用w3schools提供的教程,该教程允许您单击列表中的项目并更改背景颜色。我需要从列表项中提取字符串并对其进行处理。因此,我从写入控制台日志开始 // Add a "checked" symbol when clicking on a list item var list = document.querySelector('ul'); list.addEventListener('click', function(ev) {

我正在使用w3schools提供的教程,该教程允许您单击列表中的项目并更改背景颜色。我需要从列表项中提取字符串并对其进行处理。因此,我从写入控制台日志开始

    // 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);
      })
    }