1

我想遍历CKEDITOR中body标签内的所有元素。我正在尝试这种方式:

document.getBody().getChildren()

但它返回一些奇怪的集合,不能用于迭代。有什么建议吗?

谢谢。

4

1 回答 1

3

要轻松遍历所有元素,您可以使用一个小技巧:

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

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

但请记住,这elements是一个包装的原生 DOM实时集合。所以基本上在迭代期间修改 DOM 是有风险的,因为它可能会改变那个集合。

顺便提一句。这不是“一些奇怪的收藏”。你检查过文档吗?所有这些都记录在案 - 返回什么getChildren()以及如何使用它。

于 2013-06-14T19:59:04.823 回答