CKEDITOR.dom.iterator
Represents the iterator class. It can be used to iterate
over all elements (or even text nodes in case of enlargeBr set to false
)
which establish "paragraph-like" spaces within the passed range.
// <h1>[foo</h1><p>bar]</p>
var iterator = range.createIterator();
iterator.getNextParagraph(); // h1 element
iterator.getNextParagraph(); // p element
// <ul><li>[foo</li><li>bar]</li>
// With enforceRealBlocks set to false the iterator will return two list item elements.
// With enforceRealBlocks set to true the iterator will return two paragraphs and the DOM will be changed to:
// <ul><li><p>foo</p></li><li><p>bar</p></li>
Filtering
Properties
-
activeFilter : filter
since 4.3.0 readonly
Iterator's active filter. It is set by the getNextParagraph method when it enters a nested editable.
-
enforceRealBlocks : Boolean
Whether the iterator should create a transformable block if the current one contains text and cannot be transformed. For example new blocks will be established in elements like
<li>
or<td>
.Defaults to
false
-
enlargeBr : Boolean
Whether to include
<br>
elements in the enlarged range. Should be set tofalse
when using the iterator in the CKEDITOR.ENTER_BR mode.Defaults to
true
-
Default iterator's filter. It is set only for nested iterators.
-
forceBrBreak : Boolean
Defaults to
false
Methods
-
constructor( range ) → iterator
Creates an iterator class instance.
-
getNextParagraph( [ blockTag ] )
Returns the next paragraph-like element or
null
if the end of a range is reached.Parameters
[ blockTag ] : String
Name of a block element which will be established by the iterator in block-less elements (see enforceRealBlocks).
Defaults to
'p'
-
_getNextSourceNode( node, startFromSibling, lastNode ) → node
since 4.4.6 private