두 프레임으로 구성된 페이지가 있고 자바 스크립트를 통해 요소와 중첩 된 모든 요소를 복사해야합니다 (ul/li 트리) 그리고 가장 중요한 것은 한 프레임에서 다른 프레임으로 스타일이 적용된다는 것입니다.어떻게 DOM 요소에서 다른 DOM 요소로 프로그래밍 방식으로 모든 스타일 속성을 복사 할 수 있습니까?
innerhtml을 지정하여 모든 콘텐츠를 가져오고 dest.style.left 및 dest.style.top을 사용하여 두 번째 프레임에 새 요소를 배치 할 수 있습니다. 그러나 나는 모든 스타일 정보를 얻으려고하고 있으며 아무 일도 일어나지 않고 있습니다.
getComputedStyle을 사용하여 각 노드를 반복하면서 대상 노드 목록의 동일한 위치에 할당하면 각 소스 요소의 최종 스타일을 얻습니다. 시각적으로 스타일을 변경하는 일은 없습니다.
무엇이 누락 되었습니까?
var completeStyle = window.getComputedStyle(element1, null).cssText;
element2.style.cssText = completeStyle;
불행하게도, getComputedStyle
대신 currentStyle
를 사용하는 인터넷 익스플로러에서 지원하지 않는 :
[자바 스크립트로 요소 (및 그 스타일) 복제하기] (http://stackoverflow.com/questions/1848445/duplicating-an-element-and-its-style-with-javascript)). –
'Object.assign (el.style, otherEl.style)' – caub