2013-06-14 2 views
0

CKEDITOR의 body 태그 안의 모든 요소를 ​​반복하고 싶습니다. 나는이 방법을 시도하고있다 :CKEDITOR 본문의 모든 요소를 ​​반복합니다.

그러나 이것은 반복 할 수없는 이상한 컬렉션을 반환한다. 어떤 충고?

감사합니다.

var elements = editor.document.getBody().getElementsByTag('*'); 

for (var i = 0; i < elements.count(); ++i) { 
    console.log(elements.getItem(i).getName()); 
} 

그러나 elements가 감싸 기본 DOM 라이브 모음입니다 기억 :

답변

2

쉽게 당신이 작은 트릭을 사용할 수있는 모든 요소를 ​​반복합니다. 따라서 기본적으로 iterating 중에 DOM을 수정하는 것은 위험합니다. 컬렉션을 변경할 수 있기 때문입니다.

BTW. "이상한 컬렉션"이 아닙니다. docs을 확인 했습니까? 이 모든 것이 문서화되어 있습니다 - getChildren()에서 반환되는 내용과 사용법.

+0

고마워요, 잘 작동합니다. 그러나 버전 3에는 잘못 설명되어 있습니다. http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dom.element.html#getChildren –

관련 문제