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 : BooleanCKEDITOR.dom.iterator#enforceRealBlocksWhether 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
falseenlargeBr : BooleanCKEDITOR.dom.iterator#enlargeBrWhether to include
<br>elements in the enlarged range. Should be set tofalsewhen using the iterator in the CKEDITOR.ENTER_BR mode.Defaults to
true-
Default iterator's filter. It is set only for nested iterators.
forceBrBreak : BooleanCKEDITOR.dom.iterator#forceBrBreakDefaults to
false
Methods
constructor( range ) → iteratorCKEDITOR.dom.iterator#constructorgetNextParagraph( [ blockTag ] )CKEDITOR.dom.iterator#getNextParagraphReturns the next paragraph-like element or
nullif the end of a range is reached.Parameters
[ blockTag ] : StringName 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 ) → nodeCKEDITOR.dom.iterator#_getNextSourceNode