# CKEditor 3.0 JavaScript API Documentation

Code Index | File Index

## Namespaces

- CKEDITOR
- CKEDITOR.ajax
- CKEDITOR.config
- CKEDITOR.dom
- CKEDITOR.dtd
- CKEDITOR.env
- CKEDITOR.imageCacher
- CKEDITOR.loader
- CKEDITOR.plugins
- CKEDITOR.resourceManager
- CKEDITOR.scriptLoader
- CKEDITOR.skins
- CKEDITOR.test
- CKEDITOR.themes
- CKEDITOR.tools

## Classes

- CKEDITOR.commandDefinition
- CKEDITOR.dialog
- CKEDITOR.dialog.buttonDefinition
- CKEDITOR.dialog.contentDefinition
- CKEDITOR.dialog.contentDefinitionObject
- CKEDITOR.dialog.dialogDefinition
- CKEDITOR.dialog.dialogDefinitionObject
- CKEDITOR.dialog.uiElementDefinition
- CKEDITOR.dialogCommand
- CKEDITOR.dom.document
- CKEDITOR.dom.domObject
- CKEDITOR.dom.element
- CKEDITOR.dom.event
- CKEDITOR.dom.node
- CKEDITOR.dom.selection
- CKEDITOR.dom.text
- CKEDITOR.dom.window
- CKEDITOR.editor
- CKEDITOR.event
- CKEDITOR.eventInfo
- CKEDITOR.focusManager
- CKEDITOR.htmlParser
- CKEDITOR.htmlParser.cdata
- CKEDITOR.htmlParser.comment
- CKEDITOR.htmlParser.element
- CKEDITOR.htmlParser.fragment
- CKEDITOR.htmlParser.text
- CKEDITOR.htmlWriter
- CKEDITOR.keystrokeHandler
- CKEDITOR.pluginDefinition
- CKEDITOR.ui
- CKEDITOR.ui.button
- CKEDITOR.ui.dialog.button
- CKEDITOR.ui.dialog.checkbox
- CKEDITOR.ui.dialog.file
- CKEDITOR.ui.dialog.fileButton
- CKEDITOR.ui.dialog.hbox
- CKEDITOR.ui.dialog.html
- CKEDITOR.ui.dialog.labeledElement
- CKEDITOR.ui.dialog.radio
- CKEDITOR.ui.dialog.select
- CKEDITOR.ui.dialog.textarea
- CKEDITOR.ui.dialog.textInput
- CKEDITOR.ui.dialog.uiElement
- CKEDITOR.ui.dialog.vbox
- CKEDITOR.ui.handlerDefinition
- CKEDITOR.xml

# Class CKEDITOR.dom.element

Extends CKEDITOR.dom.node.
Defined in: core/dom/element.js.

Class Summary
Constructor Attributes | Constructor Name and Description
--- | ---
| CKEDITOR.dom.element(element, ownerDocument) Represents a DOM element.

Field Summary
Field Attributes | Field Name and Description
--- | ---
| hasAttributes Indicates that the element has defined attributes.
| type The node type.

Fields borrowed from class CKEDITOR.dom.domObject:
  $

Method Summary
Method Attributes | Method Name and Description
--- | ---
<static> | CKEDITOR.dom.element.clearAllMarkers(database)
<static> | CKEDITOR.dom.element.clearMarkers(database, element, removeFromDatabase)
<static> | CKEDITOR.dom.element.createFromHtml(html, ownerDocument) Creates an instance of the CKEDITOR.dom.element class based on the HTML representation of an element.
<static> | CKEDITOR.dom.element.get(element) The the CKEDITOR.dom.element representing and element.
<static> | CKEDITOR.dom.element.setMarker(database, element, name, value)
| addClass(className) Adds a CSS class to the element.
| append(node, toStart) Append a node as a child of this element.
| appendBogus()
| appendHtml(html)
| appendText(text) Append text to this element.
| breakParent(parent) Breaks one of the ancestor element in the element position, moving this element between the broken parts.
| copyAttributes(dest, skipAttributes) Copy all the attributes from one node to the other, kinda like a clone skipAttributes is an object with the attributes that must NOT be copied.
| focus() Moves the selection focus to this element.
| focusNext(ignoreChildren) Moves the UI focus to the element following this element in the tabindex order.
| focusPrevious(ignoreChildren) Moves the UI focus to the element before this element in the tabindex order.
| getAttribute(name) Gets the value of an element attribute.
| getChild(indices) Gets a DOM tree descendant under the current node.
| getChildCount()
| getChildren()
| getComputedStyle(propertyName) Gets the current computed value of one of the element CSS style properties.
| getDocumentPosition(refDocument)
| getDtd() Gets the DTD entries for this element.
| getFirst() Gets the first child node of this element.
| getFrameDocument() Returns the inner document of this IFRAME element.
| getHtml() Gets the inner HTML of this element.
| getId() Gets the value of the "id" attribute of this element.
| getLast(ignoreEmpty)
| getName() Gets the element name (tag name).
| getNameAtt() Gets the value of the "name" attribute of this element.
| getOuterHtml()
| getPositionedAncestor()
| getStyle(name)
| getTabIndex() Gets the computed tabindex for this element.
| getText() Gets the text value of this element.
| getValue() Gets the value set to this element.
| getWindow() Gets the window object that contains this element.
| hasAttribute((String)) Indicates whether a specified attribute is defined for this element.
| hasClass(className)
| hide() Hides this element (display:none).
| is() Checks if the element name matches one or more names.
| isBlockBoundary(customNodeNames)
| isEditable()
| isIdentical(otherElement)
| isVisible() Checks if this element is visible.
| moveChildren(target, toStart)
| removeAttribute(name) Removes an attribute from the element.
| removeAttributes(attributes)
| removeClass(className) Removes a CSS class name from the elements classes.
| removeStyle(name) Removes a style from the element.
| renameNode(newTag) Changes the tag name of the current element.
| scrollIntoView(alignTop)
| setAttribute(name, value) Sets the value of an element attribute.
| setAttributes(attributesPairs) Sets the value of several element attributes.
| setHtml(html) Sets the inner HTML of this element.
| setOpacity(opacity) Sets the opacity of an element.
| setState(state)
| setStyle(name, value) Sets the value of an element style.
| setStyles(stylesPairs) Sets the value of several element styles.
| setText(text) Sets the element contents as plain text.
| setValue(value) Sets the element value.
| show() Shows this element (display it).
| unselectable() Makes the element and its children unselectable.

Methods borrowed from class CKEDITOR.dom.node:
  appendTo, clone, getAddress, getAscendant, getCommonAncestor, getDocument, getIndex, getNext, getNextSourceNode, getParent, getParents, getPosition, getPrevious, getPreviousSourceNode, hasAscendant, hasNext, hasPrevious, insertAfter, insertBefore, insertBeforeMe, ltrim, move, remove, replace, rtrim, trim
Methods borrowed from class CKEDITOR.dom.domObject:
  equals, getCustomData, getPrivate, setCustomData
Methods borrowed from class CKEDITOR.event:
  fire, fireOnce, hasListeners, implementOn, on, removeListener

Class Detail
CKEDITOR.dom.element(element, ownerDocument)
Since: 3.0
Represents a DOM element.

    // Create a new <span> element.
    var element = new CKEDITOR.dom.element( 'span' );

    // Create an element based on a native DOM element.
    var element = new CKEDITOR.dom.element( document.getElementById( 'myId' ) );

Parameters:
{Object|String} element
  A native DOM element or the element name for new elements.
{CKEDITOR.dom.document} ownerDocument Optional
  The document that will contain the element in case of element creation.

Field Detail
{Boolean} hasAttributes
Since: 3.0
Indicates that the element has defined attributes.

    var element = CKEDITOR.dom.element.createFromHtml( 'Example' );
    alert( element.hasAttributes() );  "true"

    var element = CKEDITOR.dom.element.createFromHtml( 'Example' );
    alert( element.hasAttributes() );  "false"

{Number} type
Since: 3.0
The node type. This is a constant value set to CKEDITOR.NODE_ELEMENT.
Method Detail
<static> {Undefined} CKEDITOR.dom.element.clearAllMarkers(database)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} database

<static> {Undefined} CKEDITOR.dom.element.clearMarkers(database, element, removeFromDatabase)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} database
{Undefined} element
{Undefined} removeFromDatabase

<static> {CKEDITOR.dom.element} CKEDITOR.dom.element.createFromHtml(html, ownerDocument)
Since: 3.0
Creates an instance of the CKEDITOR.dom.element class based on the HTML representation of an element.

    var element = CKEDITOR.dom.element.createFromHtml( '<strong class="anyclass">My element</strong>' );
    alert( element.getName() );  // "strong"

Parameters:
{String} html
  The element HTML. It should define only one element in the "root" level. The "root" element can have child nodes, but not siblings.
{Undefined} ownerDocument

Returns:
  {CKEDITOR.dom.element} The element instance.

<static> {CKEDITOR.dom.element} CKEDITOR.dom.element.get(element)
Since: 3.0
The the CKEDITOR.dom.element representing and element. If the element is a native DOM element, it will be transformed into a valid CKEDITOR.dom.element object.

    var element = new CKEDITOR.dom.element( 'span' );
    alert( element == CKEDITOR.dom.element.get( element ) );  "true"

    var element = document.getElementById( 'myElement' );
    alert( CKEDITOR.dom.element.get( element ).getName() );  e.g. "p"

Parameters:
{Undefined} element

Returns:
  {CKEDITOR.dom.element} The transformed element.

<static> {Undefined} CKEDITOR.dom.element.setMarker(database, element, name, value)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} database
{Undefined} element
{Undefined} name
{Undefined} value

{Undefined} addClass(className)
Since: 3.0
Adds a CSS class to the element. It appends the class to the already existing names.

    var element = new CKEDITOR.dom.element( 'div' );
    element.addClass( 'classA' );  // <div class="classA">
    element.addClass( 'classB' );  // <div class="classA classB">
    element.addClass( 'classA' );  // <div class="classA classB">

Parameters:
{String} className
  The name of the class to be added.

{CKEDITOR.dom.node} append(node, toStart)
Since: 3.0
Append a node as a child of this element.

    var p = new CKEDITOR.dom.element( 'p' );

    var strong = new CKEDITOR.dom.element( 'strong' );
    p.append( strong );

    var em = p.append( 'em' );

    // result: "<p><strong></strong><em></em></p>"

Parameters:
{CKEDITOR.dom.node|String} node
  The node or element name to be appended.
{Boolean} toStart Optional
  Indicates that the element is to be appended at the start.

Returns:
  {CKEDITOR.dom.node} The appended node.

{Undefined} appendBogus()
Since: 3.0

    NO EXAMPLE AVAILABLE

{Undefined} appendHtml(html)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} html

{CKEDITOR.dom.node} appendText(text)
Since: 3.0
Append text to this element.

    var p = new CKEDITOR.dom.element( 'p' );
    p.appendText( 'This is' );
    p.appendText( ' some text' );

    // result: "<p>This is some text</p>"

Parameters:
{String} text
  The text to be appended.

Returns:
  {CKEDITOR.dom.node} The appended node.

{Undefined} breakParent(parent)
Since: 3.0
Breaks one of the ancestor element in the element position, moving this element between the broken parts.

    // Before breaking:
    //     This is some sample test text
    // If "element" is  and "parent" is :
    //     This is some sample test text
    element.breakParent( parent );

    // Before breaking:
    //     This is some sample test text
    // If "element" is  and "parent" is :
    //     This is some sample test text
    element.breakParent( parent );

Parameters:
{CKEDITOR.dom.element} parent
  The anscestor element to get broken.

{Undefined} copyAttributes(dest, skipAttributes)
Since: 3.0
Copy all the attributes from one node to the other, kinda like a clone skipAttributes is an object with the attributes that must NOT be copied.

Parameters:
{CKEDITOR.dom.element} dest
  The destination element.
{Object} skipAttributes
  A dictionary of attributes to skip.

{Undefined} focus()
Since: 3.0
Moves the selection focus to this element.

    var element = CKEDITOR.document.getById( 'myTextarea' );
    element.focus();

{Undefined} focusNext(ignoreChildren)
Since: 3.0
Moves the UI focus to the element following this element in the tabindex order.
Defined in: plugins/tab/plugin.js.

    var element = CKEDITOR.document.getById( 'example' );
    element.focusNext();

Parameters:
{Undefined} ignoreChildren

{Undefined} focusPrevious(ignoreChildren)
Since: 3.0
Moves the UI focus to the element before this element in the tabindex order.
Defined in: plugins/tab/plugin.js.

    var element = CKEDITOR.document.getById( 'example' );
    element.focusPrevious();

Parameters:
{Undefined} ignoreChildren

{String} getAttribute(name)
Since: 3.0
Gets the value of an element attribute.

    var element = CKEDITOR.dom.element.createFromHtml( '<input type="text" />' );
    alert( element.getAttribute( 'type' ) );  // "text"

Parameters:
{String} name
  The attribute name.

Returns:
  {String} The attribute value or null if not defined.

{CKEDITOR.dom.node} getChild(indices)
Since: 3.0
Gets a DOM tree descendant under the current node.

    var strong = p.getChild(0);

Parameters:
{Array|Number} indices
  The child index or array of child indices under the node.

Returns:
  {CKEDITOR.dom.node} The specified DOM child under the current node. Null if child does not exist.

{Undefined} getChildCount()
Since: 3.0

    NO EXAMPLE AVAILABLE

{Undefined} getChildren()
Since: 3.0

    NO EXAMPLE AVAILABLE

{String} getComputedStyle(propertyName)
Since: 3.0
Gets the current computed value of one of the element CSS style properties.

    var element = new CKEDITOR.dom.element( 'span' );
    alert( element.getComputedStyle( 'display' ) );  // "inline"

Parameters:
{String} propertyName
  The style property name.

Returns:
  {String} The property value.

{Undefined} getDocumentPosition(refDocument)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} refDocument

{Object} getDtd()
Since: 3.0
Gets the DTD entries for this element.

    NO EXAMPLE AVAILABLE

Returns:
  {Object} An object containing the list of elements accepted by this element.

{CKEDITOR.dom.node} getFirst()
Since: 3.0
Gets the first child node of this element.

    var element = CKEDITOR.dom.element.createFromHtml( '<div><b>Example</b></div>' );
    var first = element.getFirst();
    alert( first.getName() );  // "b"

Returns:
  {CKEDITOR.dom.node} The first child node or null if not available.

{CKEDITOR.dom.document} getFrameDocument()
Since: 3.0
Returns the inner document of this IFRAME element.

    NO EXAMPLE AVAILABLE

Returns:
  {CKEDITOR.dom.document} The inner document.

{String} getHtml()
Since: 3.0
Gets the inner HTML of this element.

    var element = CKEDITOR.dom.element.createFromHtml( '<div><b>Example</b></div>' );
    alert( p.getHtml() );  // "<b>Example</b>"

Returns:
  {String} The inner HTML of this element.

{String} getId()
Since: 3.0
Gets the value of the "id" attribute of this element.

    var element = CKEDITOR.dom.element.createFromHtml( '<p id="myId"></p>' );
    alert( element.getId() );  // "myId"

Returns:
  {String} The element id, or null if not available.

{Undefined} getLast(ignoreEmpty)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} ignoreEmpty
  Skip empty text nodes.

{String} getName()
Since: 3.0
Gets the element name (tag name). The returned name is guaranteed to be always full lowercased.

    var element = new CKEDITOR.dom.element( 'span' );
    alert( element.getName() );  // "span"

Returns:
  {String} The element name.

{String} getNameAtt()
Since: 3.0
Gets the value of the "name" attribute of this element.

    var element = CKEDITOR.dom.element.createFromHtml( '<input name="myName"></input>' );
    alert( element.getNameAtt() );  // "myName"

Returns:
  {String} The element name, or null if not available.

{Undefined} getOuterHtml()
Since: 3.0

    NO EXAMPLE AVAILABLE

{Undefined} getPositionedAncestor()
Since: 3.0

    NO EXAMPLE AVAILABLE

{Undefined} getStyle(name)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} name

{Number} getTabIndex()
Since: 3.0
Gets the computed tabindex for this element.

    var element = CKEDITOR.document.getById( 'myDiv' );
    alert( element.getTabIndex() );  // e.g. "-1"

Returns:
  {Number} The tabindex value.

{String} getText()
Since: 3.0
Gets the text value of this element. Only in IE (which uses innerText), <br> will cause linebreaks, and sucessive whitespaces (including line breaks) will be reduced to a single space. This behavior is ok for us, for now. It may change in the future.

    var element = CKEDITOR.dom.element.createFromHtml( '<div>Same <i>text</i>.</div>' );
    alert( element.getText() );  // "Sample text."

Returns:
  {String} The text value.

{String} getValue()
Since: 3.0
Gets the value set to this element. This value is usually available for form field elements.

    NO EXAMPLE AVAILABLE

Returns:
  {String} The element value.

{CKEDITOR.dom.window} getWindow()
Since: 3.0
Gets the window object that contains this element.

Returns:
  {CKEDITOR.dom.window} The window object.

{Boolean} hasAttribute((String))
Since: 3.0
Indicates whether a specified attribute is defined for this element.

Parameters:
{Undefined} (String)
  name The attribute name.

Returns:
  {Boolean} True if the specified attribute is defined.

{Undefined} hasClass(className)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} className

{Undefined} hide()
Since: 3.0
Hides this element (display:none).

    var element = CKEDITOR.dom.element.getById( 'myElement' );
    element.hide();

{Boolean} is()
Since: 3.0
Checks if the element name matches one or more names.

    var element = new CKEDITOR.element( 'span' );
    alert( element.is( 'span' ) );  "true"
    alert( element.is( 'p', 'span' ) );  "true"
    alert( element.is( 'p' ) );  "false"
    alert( element.is( 'p', 'div' ) );  "false"

Parameters:
{String} name[,name[,...]]
  One or more names to be checked.

Returns:
  {Boolean} true if the element name matches any of the names.

{Undefined} isBlockBoundary(customNodeNames)
Since: 3.0
Defined in: core/dom/walker.js.

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} customNodeNames

{Undefined} isEditable()
Since: 3.0

    NO EXAMPLE AVAILABLE

{Undefined} isIdentical(otherElement)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} otherElement

{Boolean} isVisible()
Since: 3.0
Checks if this element is visible. May not work if the element is child of an element with visibility set to "hidden", but works well on the great majority of cases.

    NO EXAMPLE AVAILABLE

Returns:
  {Boolean} True if the element is visible.

{Undefined} moveChildren(target, toStart)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} target
{Undefined} toStart

{Undefined} removeAttribute(name)
Since: 3.0
Removes an attribute from the element.

    var element = CKEDITOR.dom.element.createFromHtml( '' );
    element.removeAttribute( 'class' );

Parameters:
{String} name
  The attribute name.

{Undefined} removeAttributes(attributes)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} attributes

{Undefined} removeClass(className)
Since: 3.0
Removes a CSS class name from the elements classes. Other classes remain untouched.

    var element = new CKEDITOR.dom.element( 'div' );
    element.addClass( 'classA' );  // <div class="classA">
    element.addClass( 'classB' );  // <div class="classA classB">
    element.removeClass( 'classA' );  // <div class="classB">
    element.removeClass( 'classB' );  // <div>

Parameters:
{String} className
  The name of the class to remove.

{Undefined} removeStyle(name)
Since: 3.0
Removes a style from the element.

    var element = CKEDITOR.dom.element.createFromHtml( '' );
    element.removeStyle( 'display' );

Parameters:
{String} name
  The style name.

{Undefined} renameNode(newTag)
Since: 3.0
Changes the tag name of the current element.

    NO EXAMPLE AVAILABLE

Parameters:
{String} newTag
  The new tag for the element.

{Undefined} scrollIntoView(alignTop)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} alignTop

{CKEDITOR.dom.element} setAttribute(name, value)
Since: 3.0
Sets the value of an element attribute.

    var element = CKEDITOR.dom.element.getById( 'myElement' );
    element.setAttribute( 'class', 'myClass' );
    element.setAttribute( 'title', 'This is an example' );

Parameters:
{String} name
  The name of the attribute.
{String} value
  The value to be set to the attribute.

Returns:
  {CKEDITOR.dom.element} This element instance.

{CKEDITOR.dom.element} setAttributes(attributesPairs)
Since: 3.0
Sets the value of several element attributes.

    var element = CKEDITOR.dom.element.getById( 'myElement' );
    element.setAttributes({
        'class' : 'myClass',
        'title' : 'This is an example' });

Parameters:
{Object} attributesPairs
  An object containing the names and values of the attributes.

Returns:
  {CKEDITOR.dom.element} This element instance.

{String} setHtml(html)
Since: 3.0
Sets the inner HTML of this element.

    var p = new CKEDITOR.dom.element( 'p' );
    p.setHtml( '<b>Inner</b> HTML' );

    // result: "<p><b>Inner</b> HTML</p>"

Parameters:
{String} html
  The HTML to be set for this element.

Returns:
  {String} The inserted HTML.

{Undefined} setOpacity(opacity)
Since: 3.0
Sets the opacity of an element.

    var element = CKEDITOR.dom.element.getById( 'myElement' );
    element.setOpacity( 0.75 );

Parameters:
{Number} opacity
  A number within the range [0.0, 1.0].

{Undefined} setState(state)
Since: 3.0

    NO EXAMPLE AVAILABLE

Parameters:
{Undefined} state

{CKEDITOR.dom.element} setStyle(name, value)
Since: 3.0
Sets the value of an element style.

    var element = CKEDITOR.dom.element.getById( 'myElement' );
    element.setStyle( 'background-color', '#ff0000' );
    element.setStyle( 'margin-top', '10px' );
    element.setStyle( 'float', 'right' );

Parameters:
{String} name
  The name of the style. The CSS naming notation must be used (e.g. "background-color").
{String} value
  The value to be set to the style.

Returns:
  {CKEDITOR.dom.element} This element instance.

{CKEDITOR.dom.element} setStyles(stylesPairs)
Since: 3.0
Sets the value of several element styles.

    var element = CKEDITOR.dom.element.getById( 'myElement' );
    element.setStyles({
        'position' : 'absolute',
        'float' : 'right' });

Parameters:
{Object} stylesPairs
  An object containing the names and values of the styles.

Returns:
  {CKEDITOR.dom.element} This element instance.

{String} setText(text)
Since: 3.0
Sets the element contents as plain text.

    var element = new CKEDITOR.dom.element( 'div' );
    element.setText( 'A > B & C < D' );
    alert( element.innerHTML );  // "A &gt; B &amp; C &lt; D"

Parameters:
{String} text
  The text to be set.

Returns:
  {String} The inserted text.

{CKEDITOR.dom.element} setValue(value)
Since: 3.0
Sets the element value. This function is usually used with form field element.

    NO EXAMPLE AVAILABLE

Parameters:
{String} value
  The element value.

Returns:
  {CKEDITOR.dom.element} This element instance.

{Undefined} show()
Since: 3.0
Shows this element (display it).

    var element = CKEDITOR.dom.element.getById( 'myElement' );
    element.show();

{Undefined} unselectable()
Since: 3.0
Makes the element and its children unselectable.

    var element = CKEDITOR.dom.element.getById( 'myElement' );
    element.unselectable();

Copyright © 2003-2009, CKSource - Frederico Knabben. All rights reserved.