2014-03-31 4 views
1

엘리먼트를 제거하기 위해 remove()를 두 번 호출해야하는 이상한 이벤트가 발생합니다. 아래 자바 스크립트 콘솔을 붙여 넣었으므로 요소를 제거하기 위해 remove를 두 번 호출해야한다는 것을 알 수 있습니다.자바 스크립트 호출 Remove()를 두 번 사용하여 요소를 제거하십시오.

$("#products-view-17") 
[ 
<div class=​"product-tile" id=​"products-view-17">​…​</div>​ 
] 

$("#products-view-17").remove() 
[ 
<div class=​"product-tile" id=​"products-view-17">​ 
<a href=​"http:​/​/​www.shopify.com" target=​"_blank">​…​</a>​ 
<div id=​"associate_form" class=​"remove_button">​…​</div>​ 
</div>​ 
] 

$("#products-view-17") 
[ 
<div class=​"product-tile" id=​"products-view-17">​ 
<a href=​"http:​/​/​www.shopify.com" target=​"_blank">​…​</a>​ 
<div id=​"associate_form" class=​"remove_button">​…​</div>​ 
</div>​ 
] 

$("#products-view-17").remove() 
[ 
<div class=​"product-tile" id=​"products-view-17">​ 
<a href=​"http:​/​/​www.shopify.com" target=​"_blank">​…​</a>​ 
<div id=​"associate_form" class=​"remove_button">​…​</div>​ 
</div>​ 
] 

$("#products-view-17") 
[] 

내 페이지의 다른 요소에는 아무런 문제가 없으며 하나의 Remove() 호출이 수행합니다. 여기에서 동적으로 생성 된 것들만 문제가됩니다. 이것은 잘 작동하는 데 사용되었는데, 무엇이 가능 했습니까?

+0

두 같은 ID를 가진 요소들? ''# products-view-17 "'selector는 여러개가 있다면 첫 번째 것을 선택합니다. –

+0

@cookiemonster thats 원래 내가 생각한 것, 나는 페이지 소스를 확인하고 그 ID를 한 번만 찾을 수있었습니다. – echan00

+0

문제가있는 것들이 동적으로 생성 된 경우 페이지 소스를 확인하여 어떻게 확인합니까? –

답변

2

$('[id^="products-view-17"]').remove(); 
0

정확히 동일한 ID의 두 요소가있었습니다. 페이지의 복사본을 하나만 있지만이 범인입니다 : 동일한 ID로 여러 요소를 제거하기 위해 주위 그로우 체스트하여 다음 작업을 언급 한 바와 같이 라이브러리에 문제가 있기 때문에 https://github.com/okendoken/bootstrap-tabcollapse

관련 문제