2012-07-22 5 views
2

페이지의 스타일에 영향을주지 않고 클릭 한 요소 주위에 div를 만들고 일부 조작 후에 삽입 된 부모를 제거해야합니다. 아무도 그런 식으로 할 생각이 없나요?선택한 요소에 대한 부모 div 만들기

편집 : 내가 어떤 자바 스크립트 라이브러리

+0

클릭 한 요소는 버튼입니까? –

+1

메모로. CSS를 통제하지 않는 한 스타일이 적용되지 않는다고 보장 할 수는 없습니다. 예를 들어 중첩 된 요소 세트를 특별히 타겟팅하는 스타일을 사용하는 경우 해당 스타일은 'div'를 도입하여 중첩 된 순서를 변경하는 즉시 적용되지 않습니다. – Nope

+2

"포장"이라고합니다. – pimvdb

답변

5

나는 그것이 스타일에 영향을 미치지 않습니다 보장하지만, 나머지로 (클릭 핸들러 함수 내부) 같은 것을 시도 할 수 없습니다 당신이 기능 때 여전히 경우

var div = document.createElement("div"); 
var parent = this.parentNode; 
parent.insertBefore(div, this); 
div.appendChild(this); 

parent.insertBefore(this, div); 
parent.removeChild(div); 

하지 않으면, 당신은 그것을 reaquire해야합니다 : 새 div 요소를 제거 할. 방아쇠를 당했다고 가정 해 보겠습니다.

var div = this.parentNode; 
var parent = div.parentNode; 
parent.insertBefore(this, div); 
parent.removeChild(div); 
2

jQuery를 당신이 원하는 것을 할 것입니다 wrap() 기능이에게 사용하지 않음을 유의하시기 바랍니다. 스타일이 변경되지 않는다는 것을 일반적으로 보장 할 수는 없지만 페이지 및/또는 CSS를 제어하는 ​​경우 문제가되어서는 안됩니다.

관련 문제