2015-01-11 2 views
1

나는 목록에서 요소를 제거하는 자바 스크립트 함수를 만들고 싶습니다. (미완성) 함수는 다음과 같다 : 나는 누군가에 의해 올바른 요소를 얻는 방법을 말할 수 있다면 매우 감사 할 것입니다 자바 스크립트 초보자 A와정의 된 값을 가진 요소를 목록에서 제거하는 방법은 무엇입니까?

<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> 

:

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은 다음과 같습니다 그 이드와 그것을 제거하십시오.

감사합니다.

+0

가능한 한 http://stackoverflow.com/questions/3387427/remove-element-by-id?rq=1 –

+4

'데이터 바인딩'을 기반으로 데이터 바인딩 프레임 워크를 사용하고있는 것으로 보입니다 (각도, 녹아웃 등), 당신은 그 프레임 워크에 의해 당신에게 주어진 도구를 사용해야하고, DOM을 직접 망치지 않아야합니다. –

+0

주제 오프 질문, 왜 jQuery를 사용하지 않습니까? –

답변

1
당신은 Element.querySelector에서 속성 선택 [attribute=value]를 사용할 수

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가 프레임 워크를 사용하고있을 가능성이 높습니다. –

관련 문제