2011-01-26 9 views
16

jQuery를 사용하면 html 본문에서 래퍼 div로 구성된 앵커 태그를 제거 할 수 있으며이 래퍼 div는 제거하려는 앵커 태그 위에 있습니다.jquery 직접 자식 요소 제거

내가 내 래퍼의 첫 번째 앵커 태그를 제거

$("body").find("a:first-child").remove(); 

를 사용하는 경우

<body> 
    <div id="wrapper"> 
     <a id="not_me" href="#">hi</a> 
    </div> 

    <a id="remove_me" href="#">Remove Me</a> 

</body> 

같다 사업부 즉, ID가 "not_me"하나, 내가 할 "remove_me"를 원하는 동안 제거되었습니다. 당신은 단지 body 직접 아이들을 대상으로 원하기 때문에

답변

36
$("body").children("a:first").remove(); 

당신은 children()(docs)를 사용합니다.

그런 다음 "a:first"을 선택자로 사용하여 첫 번째 <a> 요소를 타겟팅합니다.

first-child-selector(docs) 당신 만이 (가하지 않은) 부모의 첫 번째 자식 인 <a> 경우거야 때문이다. 그러나 first-selector(docs)을 사용하면 일치하는 첫 번째 <a>이 표시됩니다. 상기와

$('body > a:first').remove(); 

동일하지만, children()(docs) 방법 대신 >child-selector(docs)을 사용

대안은 하나의 선택에 모두 배치하는 것입니다.

$("body").children("a").eq(0).remove(); 
+0

아아아! 한번 더 보자! 나는 그저 .. : p) – jAndy

+0

@jAndy : 당신을 위해 몇 가지가 더 있습니다. : o) – user113716

7

는 당신은 직접 아이들 검색 children()를 사용하려면, 당신은 :first 또는 eq(0)가 첫 번째 제거하는 데 사용할 수 그것이 틀린 지 모르겠다. 나는 아직도 배우고있다 : P

4

왜 당신이 시도하지 않는 :

$("#remove_me").remove() 

+0

맞습니다.하지만 OP가 타겟이 된 예를 위해 ID를 사용했는데 어떤 ID가 ''인지 아닌지를 보여주었습니다. : o) – user113716

+0

흠, 아이들은 먼저 트릭을 할 것입니다. 감사합니다 :) – pavid

+0

죄송 합니다만, id ("remove_me"예)는 동적으로 생성되므로 제안한 방법을 사용할 수 없으므로 어쨌든 감사드립니다. 응답을 위해 – Prashant