Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.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 使用addEventlistener修改对象_Javascript_Html - Fatal编程技术网

Javascript 使用addEventlistener修改对象

Javascript 使用addEventlistener修改对象,javascript,html,Javascript,Html,我有一个对象数组,如下所示: 0:{name:“a”,id:0,垃圾桶:false} 1:{name:“b”,id:1,trash:false} 2:{name:“c”,id:2,trash:false} 3:{name:“d”,id:3,trash:false} 4:{name:“e”,id:4,trash:false} 5:{name:“f”,id:5,trash:false}我建议您使用data-*属性,这些属性很容易通过getAttribute读取(或者如果您碰巧使用jQuery,则使

我有一个对象数组,如下所示:

0:{name:“a”,id:0,垃圾桶:false}
1:{name:“b”,id:1,trash:false}
2:{name:“c”,id:2,trash:false}
3:{name:“d”,id:3,trash:false}
4:{name:“e”,id:4,trash:false}

5:{name:“f”,id:5,trash:false}
我建议您使用
data-*
属性,这些属性很容易通过
getAttribute
读取(或者如果您碰巧使用jQuery,则使用
data()

然后,您可以非常轻松地读取
作业
id
,并将后者转换为
列表TODO
数组的索引

var listTodo=[{name:“a”,id:0,trash:false},
{name:“b”,id:1,trash:false},
{name:“c”,id:2,trash:false}];
var list=document.querySelector(“我的列表”);
list.addEventListener(“单击”,(e)=>{
if(例如target.getAttribute(“数据作业”)=“删除”){
e、 target.parentElement.remove();
var idx=parseInt(e.target.getAttribute(“数据id”),10);
log((listTodo[idx].trash=true));
console.log(listTodo);
}
});

  • 洛雷姆1
  • 洛雷姆2
  • 洛雷姆

我建议您使用
数据-*
属性,这些属性很容易通过
getAttribute
读取(如果您碰巧使用jQuery,则使用
data()

然后,您可以非常轻松地读取
作业
id
,并将后者转换为
列表TODO
数组的索引

var listTodo=[{name:“a”,id:0,trash:false},
{name:“b”,id:1,trash:false},
{name:“c”,id:2,trash:false}];
var list=document.querySelector(“我的列表”);
list.addEventListener(“单击”,(e)=>{
if(例如target.getAttribute(“数据作业”)=“删除”){
e、 target.parentElement.remove();
var idx=parseInt(e.target.getAttribute(“数据id”),10);
log((listTodo[idx].trash=true));
console.log(listTodo);
}
});

  • 洛雷姆1
  • 洛雷姆2
  • 洛雷姆

您应该像其他人所说的那样使用数据属性
数据作业
,然后您可以在javascript单击处理程序中执行3个步骤

  • 1:检查单击的元素是否具有
    数据作业=“删除”
    。使用
    dataset
    属性
    if(e.target.dataset.job==“delete”)
  • 2:将其从DOM
    e.target.parentElement.Remove()中删除
  • 3:更改数组中的“垃圾”值。获取所单击元素
    e.target.id
    id
    ,并将其用作数组键:
    listTodo[e.target.id].trash=true
就这些。下一步是javascript函数,然后是下面的一个片段,显示它的工作情况

var list = document.getElementById("list");
list.addEventListener("click", (e) => {

    // Check if the clicked element has the data-job="delete"
    if (e.target && e.target.dataset.job == "delete") {

        // Remove the element from the DOM
        e.target.parentElement.remove();

        // set trash to true for this element in the array using this id as the array key
        listTodo[e.target.id].trash = true;
  }
});
var listTodo={
0:{name:“a”,id:0,垃圾箱:false},
1:{name:“b”,id:1,trash:false},
2:{name:“c”,id:2,trash:false},
3:{name:“d”,id:3,trash:false},
4:{name:“e”,id:4,trash:false},
5:{name:“f”,id:5,trash:false}
};
var list=document.getElementById(“列表”);
list.addEventListener(“单击”,(e)=>{
//检查单击的元素是否具有数据作业=“删除”
if(e.target&&e.target.dataset.job==“删除”){
//从DOM中删除单击的元素
e、 target.parentElement.remove();
//使用id作为数组键,为单击的元素设置trash=true
listTodo[e.target.id].trash=true;
console.log(“删除元素”+e.target.id);
}
});
i{显示:块;高度:20px;宽度:20px;左边距:10px;}

  • 0
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

您应该像其他人所说的那样使用数据属性
数据作业
,然后您可以在javascript单击处理程序中执行3个步骤

  • 1:检查单击的元素是否具有
    数据作业=“删除”
    。使用
    dataset
    属性
    if(e.target.dataset.job==“delete”)
  • 2:将其从DOM
    e.target.parentElement.Remove()中删除
  • 3:更改数组中的“垃圾”值。获取所单击元素
    e.target.id
    id
    ,并将其用作数组键:
    listTodo[e.target.id].trash=true
就这些。下一步是javascript函数,然后是下面的一个片段,显示它的工作情况

var list = document.getElementById("list");
list.addEventListener("click", (e) => {

    // Check if the clicked element has the data-job="delete"
    if (e.target && e.target.dataset.job == "delete") {

        // Remove the element from the DOM
        e.target.parentElement.remove();

        // set trash to true for this element in the array using this id as the array key
        listTodo[e.target.id].trash = true;
  }
});
var listTodo={
0:{name:“a”,id:0,垃圾箱:false},
1:{name:“b”,id:1,trash:false},
2:{name:“c”,id:2,trash:false},
3:{name:“d”,id:3,trash:false},
4:{name:“e”,id:4,trash:false},
5:{name:“f”,id:5,trash:false}
};
var list=document.getElementById(“列表”);
list.addEventListener(“单击”,(e)=>{
//检查单击的元素是否具有数据作业=“删除”
if(e.target&&e.target.dataset.job==“删除”){
//从DOM中删除单击的元素
e、 target.parentElement.remove();
//为单击的对象设置trash=true