我想创建一个JavaScript函数来从列表中删除一个元素。 (未完成的)功能如下:
function removeUser(gData) {
var divUsers = document.getElementById('users');
console.log(divUsers);
var userId = gdata.Id(); //the element with this value should be removed from the list - e.g. if userId == 21367, 'Silvana' should be removed.
divUsers.remove(userId);
}
divUsers如下所示:
<ul id="users">
<li data-bind="text :FirstName, click:AddOwnerToUser.bind($data), value: Id" style="cursor:pointer" value="21367">Silvana</li>
<li data-bind="text :FirstName, click:AddOwnerToUser.bind($data), value: Id" style="cursor:pointer" value="23295">John</li>
</ul>
作为一名JavaScript新手,如果有人能告诉我如何通过其ID获取正确的元素并将其删除,我将非常感激。
谢谢!
最佳答案
您可以使用[attribute=value]
中的属性选择器Element.querySelector
和Element.removeChild
来完成您打算做的事情。
function removeUser(gData) {
var divUsers = document.getElementById('users');
console.log(divUsers);
var userId = gdata.Id();
divUsers.removeChild(divUsers.querySelector('[value=' + userId + ']'))
}
上面是您如何按照问题中的要求删除元素的方法。请注意它是否会影响您将用作对我的回答状态的第一条评论的任何可能的框架。