我想遍历CKEDITOR中body标签内的所有元素。我正在尝试这种方式:
document.getBody().getChildren()
但它返回一些奇怪的集合,不能用于迭代。有什么建议吗?
谢谢。
我想遍历CKEDITOR中body标签内的所有元素。我正在尝试这种方式:
document.getBody().getChildren()
但它返回一些奇怪的集合,不能用于迭代。有什么建议吗?
谢谢。
要轻松遍历所有元素,您可以使用一个小技巧:
var elements = editor.document.getBody().getElementsByTag( '*' );
for ( var i = 0; i < elements.count(); ++i ) {
console.log( elements.getItem( i ).getName() );
}
但请记住,这elements
是一个包装的原生 DOM实时集合。所以基本上在迭代期间修改 DOM 是有风险的,因为它可能会改变那个集合。
顺便提一句。这不是“一些奇怪的收藏”。你检查过文档吗?所有这些都记录在案 - 返回什么getChildren()
以及如何使用它。