Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “字符串”;“开始”;在列表索引期间打印到控制台_Javascript_List_Events_This_Innerhtml - Fatal编程技术网

Javascript “字符串”;“开始”;在列表索引期间打印到控制台

Javascript “字符串”;“开始”;在列表索引期间打印到控制台,javascript,list,events,this,innerhtml,Javascript,List,Events,This,Innerhtml,使用forEach循环索引ul列表时遇到问题。此列表的子元素是动态创建的。在向每个列表项添加事件处理程序并在单击时记录其innerHTML或textContent之后,返回的是字符串“START”,而不是包含HTML或文本的元素 其次,我希望能够返回元素索引,但我遇到了另一个问题。当索引包含每个列表项文本的已创建数组时,返回的是-1,而不是数组元素的实际索引。道具给任何能帮我解决这个问题的人!代码如下: var items=document.querySelectorAll(#选项列表>li”)

使用forEach循环索引ul列表时遇到问题。此列表的子元素是动态创建的。在向每个列表项添加事件处理程序并在单击时记录其innerHTML或textContent之后,返回的是字符串“START”,而不是包含HTML或文本的元素

其次,我希望能够返回元素索引,但我遇到了另一个问题。当索引包含每个列表项文本的已创建数组时,返回的是-1,而不是数组元素的实际索引。道具给任何能帮我解决这个问题的人!代码如下:

var items=document.querySelectorAll(#选项列表>li”);
itemList=[];
items.forEach((项目)=>{
itemList.push(item.textContent);
});
items.forEach((项目)=>{
item.addEventListener(“单击”,()=>{
var option=itemList.indexOf(this.textContent);
log(this.innerHTML);
});
});

我发现我可以使用事件对象来索引我正在按的元素。看一看!如果他们是任何其他人谁有一个替代的解决方案,请张贴

items.forEach((item)=>{
    item.addEventListener("click", (e) => {
        var option = itemList.indexOf(e.target.textContent);

    });
});

一个快速的技巧是使用spread运算符将返回的转换为使用的数组。假设您想保存它以供以后使用,否则只需在节点列表上使用forEach

forEach
中,您可以在侦听器中重复使用item变量,而不是使用
。由于箭头函数
=>
,因此无法工作。 索引也会传递给

var items=[…document.querySelectorAll('#options list>li')]
items.forEach((item,index)=>item.addEventListener('click',e=>{
log(索引,item.innerHTML)
}))