back to Overview

.addBefore()

Inserts the given text or element(s) as siblings in front of each HTML element in the list.
Web module only.

Syntax Variants

list.addBefore(text)
list.addBefore(node)
list.addBefore(list)
list.addBefore(factoryFunction)

Parameters

text
a string to add as text node to the list elements
node
a DOM node to add to the list. If the list has more than one element, the given node will be added to the first element. For all additional elements, the node will be cloned using clone().
list
a list containing text and/or nodes. May also contain nested lists with nodes or text..
factoryFunction
a function(listItem, listIndex) that will be invoked for each list element to create the nodes:
listItem
The list element that will receive the new children.
listIndex
The index of the list element that will receive the new children.
(callback return value)
The node(s) to be added to the list element. Can be either a string for a text node, an HTML element or a list containing strings and/or DOM nodes. If a function is returned, it will be invoked recursively with the same arguments.
(return value)
the current list

Description

Inserts the given text or element(s) as siblings in front of each HTML element in the list. If a string has been given, it will be added as text node. DOM nodes will be added directly. If you pass a list, all its elements will be added using the rules above.

When you pass a DOM node and the target list has more than one element, the original node will be added to the first list element, and clones to all following list elements.

EE(), HTML() and clone() are compatible with addBefore() and can help you create new HTML ndoes.

Example

Using the following HTML:

<div>
  <div id="mainText">Here is some text</div>
</div>
addBefore() adds text in front of the selected list items.
$('#mainText').addBefore('COMMENT');
This results in:
<div>
  COMMENT
  <div id="mainText">Here is some text</div>
</div>

Example

You can also pass an Element Factory:

$('#mainText').addBefore(EE('span', {'className': 'important'}, 'WARNING'));
With the previous example's HTML, this would create this HTML:
<div>
  <span class="important">WARNING</span>
  <div id="mainText">Here is some text</div>
</div>

Example

Lists of elements and nodes are possible as well.

$('#status').addBefore([EE('hr'), 'WARNING']);

See also..

  • fill() replaces all children with new nodes.
  • add() adds elements as last child.
  • addFront() adds nodes as first child.
  • addAfter() adds nodes as siblings after the list element(s).
  • replace() replaces existing nodes.

Comments

comments powered by Disqus

back to Overview

Functions