如何从列表中删除具有定义值的元素?

时间:2015-01-11 13:12:35

标签: javascript jquery

我想创建一个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获取正确的元素并将其删除,我将非常感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在[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 + ']'))
}

以上是如何删除问题中提到的元素。如果它影响您将使用的任何可能的框架,请注意作为我的答案的第一个评论。