2015-01-11 2 views
1

Я хотел бы создать функцию 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 новичка я был бы очень благодарен, если кто-то может сказать, как получить правильный элемент, его идентификатор и удалить его.

Спасибо!

+0

Возможный дубликат http://stackoverflow.com/questions/3387427/remove-element-by-id?rq=1 –

+4

На основе 'data-bind' вы, похоже, используете какую-то структуру привязки данных (угловой, нокаут и т. д.), вы должны использовать инструменты, предоставленные вам этими структурами, и не вступать в DOM напрямую. –

+0

Вопрос о том, почему вы не используете jQuery? –

ответ

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 + ']')) 
} 

выше, как вы удалите элемент, как предлагается в вашем вопросе. Позаботьтесь, если это повлияет на любые возможные рамки, которые вы будете использовать в качестве первого комментария к моим ответам.

+0

Опять же, учитывая, что у него есть атрибуты «привязки данных» к его элементам, вероятно, что OP использует фреймворк, и это будет мешать. –

Смежные вопросы