2016-07-27 3 views
0

prev()을 사용하여 이전 요소를 선택하는 방법은 무엇입니까? icon 1을 클릭하면 span이 삭제됩니다.jquery prev를 올바르게 사용하는 방법은 무엇입니까?

html.erb

# inside a loop -- notice the loop!. 
<span data-id="foo_span"> 
    <i data-id="bar">icon 1</i> 
    <i>icon 2</i> 
</span> 

자바 스크립트 :

$("[data-id=bar]").click(function(e){ 
    e.preventDefault(); 
    //$(this).prev("[data-id=foo_span]").remove(); 
    $(this).prev().remove(); 
}); 

내가 제대로 prev()를 사용하고? 예를 들어, .css을 사용합니다. span 태그를 제거하는 올바른 방법은 무엇입니까? i은 span 태그 안에 있어야합니다.

+2

사용 '부모()'... –

+0

'prev()'는 * 형제 * 컬렉션에서 뒤로 이동합니다. 대신에'parent()'를 사용해야합니다. – haim770

+1

prev() 형제가 형제입니다 ... 문서를 읽으십시오 https://api.jquery.com/prev/ – epascarello

답변

1

당신은 parent() 방법 및 prev() 방법은 요소의 바로 앞의 형제를 얻기 위해 사용을 사용해야합니다.

$(this).parent().remove(); 
+1

오 마이 일! 나는 지난 밤에 주위를 파고 있었고, 어딘가에 그것을 보았다. 그러나 그것은 결코 클릭하지 않았다. 예, 성공했습니다! – Sylar

0

이것은 나를 위해 효과가있는 것 같습니다. 이게 니가 원하는거야? 어떤 부모를 사용하는 방법에 대한

https://jsfiddle.net/ndva0rkz/

$("body").on("click", ".f", function(e){ 
    e.preventDefault(); 
    //$(this).prev("[data-id=foo_span]").remove(); 
    $(this).prev().remove(); 
}); 
<span data-id="foo_span"> 
    <i class="f" data-id="bar">icon 1</i> 
    <i class="f">icon 2</icon> 
</span> 
+0

나를 위해 완전한 루프를 제거합니다. – Sylar

+0

코드에 'prev'를 사용하여 사용법을 보여 주려고했습니다. :) – Programmer

0

()?

$("[data-id=bar]").click(function(e){ 
    e.preventDefault(); 
    $(this).parent().remove(); 
}); 
관련 문제