【发布时间】:2013-06-11 04:37:03
【问题描述】:
我想遍历 CKEDITOR 中 body 标记内的所有元素。我正在尝试这种方式:
document.getBody().getChildren()
但是它返回了一些奇怪的集合,不能用于迭代。有什么建议吗?
谢谢。
【问题讨论】:
标签: javascript dom ckeditor iteration
我想遍历 CKEDITOR 中 body 标记内的所有元素。我正在尝试这种方式:
document.getBody().getChildren()
但是它返回了一些奇怪的集合,不能用于迭代。有什么建议吗?
谢谢。
【问题讨论】:
标签: javascript dom ckeditor iteration
要轻松遍历所有元素,您可以使用一个小技巧:
var elements = editor.document.getBody().getElementsByTag( '*' );
for ( var i = 0; i < elements.count(); ++i ) {
console.log( elements.getItem( i ).getName() );
}
但请记住,elements 是一个封装的原生 DOM live 集合。所以基本上在迭代期间修改 DOM 是有风险的,因为它可能会改变那个集合。
顺便说一句。这不是“一些奇怪的收藏”。你检查过docs吗?所有这些都记录在案 - 从getChildren() 返回的内容以及如何使用它。
【讨论】: