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
-
Iterator's active filter. It is set by the getNextParagraph method when it enters a nested editable.
-
enforceRealBlocks : Boolean
CKEDITOR.dom.iterator#enforceRealBlocks
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
CKEDITOR.dom.iterator#enlargeBr
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
CKEDITOR.dom.iterator#forceBrBreak
Defaults to
false
Methods
-
constructor( range ) → iterator
CKEDITOR.dom.iterator#constructor
-
getNextParagraph( [ blockTag ] )
CKEDITOR.dom.iterator#getNextParagraph
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'
-
since 4.4.6 private
_getNextSourceNode( node, startFromSibling, lastNode ) → node
CKEDITOR.dom.iterator#_getNextSourceNode