2013-03-15 4 views
0

도와 주시겠습니까? 내 코드에서 removeChild이 작동하지 않는 이유는 무엇입니까?자바 스크립트 : removeChild가 작동하지 않음

divId = $(".File[rel='" + fileId.substring(0, 32) + "']"); 
divId.remove(); 

$(selector)이의 jQuery 객체를 반환하는 parentNode 속성이 없습니다 :

divId = $(".File[rel='" + fileId.substring(0, 32) + "']"); 
    divId.parentNode.removeChild(divId); 

당신은 그것을 위해 .remove()을 사용할 수 있습니다

+1

의 jQuery 객체가'Node' 개체 수 없습니다. 'Node'의 메소드를 사용하기 위해서는'get()'또는'[]'를 사용하여 wrapped DOM 요소를 추출해야합니다. – cdmckay

답변

6

(첫 번째 줄은 사업부를 찾을 수있는 노력하고 있습니다) . @dystroy가 응답 한 DOM 요소 참조를 실제로 가져와야하는 경우 대체로 .get() 또는 배열 표기법을 사용할 수 있습니다.

divId.remove(); 
4

변경

divId = $(".File[rel='" + fileId.substring(0, 32) + "']"); 

divId = $(".File[rel='" + fileId.substring(0, 32) + "']").get(0); 

또는 간단하게는 DOM에서 removeChild 함수의 어색함을 담당 jQuery의 remove 기능을 사용 :

divId.parent(); 

그러나 당신이 부모를 필요가 없습니다, 당신은 다만 할 수 있습니다

divId.remove(); 
+0

또는'.get (0)'대신'$ (". File [rel = '"+ fileId.substring (0, 32) + "']") [0]'. – cdmckay

+0

도움 주셔서 감사합니다 :) – ScymeX

1

부모를 사용 액세서하려면

관련 문제