EE()
Syntax Variants
Parameters
- elementName
- the element name to create (e.g. 'div')
- properties (optional)
- an object which contains a map of attributes and other values. Uses the
set()syntax: Attribute values are prefixed with '@', data attributes with '%', CSS styles with '$' and regular properties can be set without prefix. If the attribute value is null, the attribute will omitted (styles and properties can be set to null). In order to stay compatible with Internet Explorer 7 and earlier, you should not set the attributes '@class' and '@style'. Instead set the property 'className' instead of '@class' and set styles using the '$' syntax. - children (optional)
- a node or a list of nodes to be added as children. Strings will be converted to text nodes.
Functions will be invoked and their return value will be used. Lists can be
nested and will then automatically be flattened. Null elements in lists will be ignored.
The syntax is exactly like
add(). - (return value)
- the HTML Element wrapped in a Minified list
Description
Creates a new HTML Element, wrapped in a Minified list, optionally with attributes and children.
Typically it will be used to insert elements into the DOM tree using add() or a similar function.
Please note that the function EE will not be automatically exported by Minified. You should always import it using the recommended import statement:
var MINI = require('minified'), $ = MINI.$, $$ = MINI.$$, EE = MINI.EE;
Example
Creating a simple <span> element with some text:
var mySpan = EE('span', 'Hello World');
This is the result:
<span>Hello World</span>
Example
Adding the '<span>Hello World; <span> element to all elements with the class '.greeting':
$('.greeting').add(EE('span', 'Hello World'));
Example
Creating a <span> element with style and some text:
var span2 = EE('span', {'@title': 'Greetings'}, 'Hello World');
The last line creates this:
<span title="Greetings">Hello World</span>
Example
Creating a <form> element with two text fields, labels and a submit button:
var myForm = EE('form', {'@method': 'post'}, [
EE('label', {'@for': 'nameInput'}, 'Name:'),
EE('input', {'@id': 'nameInput', '@type': 'input'}),
EE('br'),
EE('label', {'@for': 'ageInput'}, 'Age:'),
EE('input', {'@id': 'ageInput', '@type': 'input'}),
EE('br'),
EE('input', {'@type': 'submit, '@value': 'Join'})
]);
results in (newlines and indentation added for readability):
<form method="post>
<label for="nameInput">Name:</label>
<input id="nameInput" type="input"/>
<br/>
<label for="ageInput"/>Age:</label>
<input id="ageInput" type="input"/>
<br/>
<input value="Join" type="submit"/>
</form>
Example
If you only want to add an attribute under a certain condition, a simple trick is to pass null as value if you do not need it:
var myInput = EE('input', {
'@id': 'myCheckbox',
'@type': 'checkbox',
'@checked': shouldBeChecked() ? 'checked' : null
});
Example
You can set styles directly using a $ prefix for the name:
var myStylesSpan = EE('span', {$color: "red", $fontWeight: "bold"}, "I'm styled");
Example
on() makes it very easy to attach event handlers to the new elements directly after creating them:
$('#target').add(EE('input', {'@name': "myInput"}).on('change', inputChanged));
});
Comments
comments powered by DisqusFunctions
- $() Web
- list.length Web, Util
- $$() Web
- $.getCookie()
- $.loop() Web
- $.off() Web
- $.parseJSON() Web
- $.ready() Web
- $.request() Web
- $.setCookie()
- $.toJSON() Web
- $.wait()
- .add() Web
- .addAfter() Web
- .addBefore() Web
- .addFront() Web
- .animate() Web
- .array() Util
- .call() Util
- .clone() Web
- .collect() Web, Util
- .contains() Util
- .dial() Web
- .each() Web, Util
- .endsWith() Util
- .equals() Util
- .fill() Web
- .filter() Web, Util
- .find() Web, Util
- .findLast() Web, Util
- .get() Web
- .hide() Web
- .ht()
- .intersection() Util
- .is() Web
- .join() Util
- .map() Util
- .merge() Util
- .next() Web
- .not() Web
- .offset()
- .on() Web
- .onChange() Web
- .onClick() Web
- .onFocus() Web
- .onOver() Web
- .only()
- .per() Util
- .reduce() Util
- .remove() Web
- .replace() Web
- .reverse() Util
- .select() Web
- .set() Web
- .show() Web
- .sort() Util
- .startsWith() Util
- .sub() Web, Util
- .text() Web
- .toObject() Util
- .toggle() Web
- .trav() Web
- .trigger() Web
- .uniq() Util
- .unite() Util
- .up() Web
- .values() Web
- EE() Web
- HTML() Web
- M Web, Util
- MINI.getter Web
- MINI.setter Web
- Minified Lists Web, Util
- Promise Web, Util
- _() Util
- _.bind() Util
- _.copyObj() Util
- _.dateAdd() Util
- _.dateClone() Util
- _.dateDiff() Util
- _.dateMidnight() Util
- _.eachObj() Util
- _.escapeHtml() Util
- _.escapeRegExp() Util
- _.extend() Util
- _.filterObj() Util
- _.format() Util
- _.formatHtml() Util
- _.formatValue() Util
- _.isBool() Util
- _.isDate() Util
- _.isEmpty() Util
- _.isFunction() Util
- _.isList() Util
- _.isNumber() Util
- _.isObject() Util
- _.isString() Util
- _.isValue() Util
- _.keys() Util
- _.mapObj() Util
- _.pad() Util
- _.parseDate() Util
- _.parseNumber() Util
- _.partial() Util
- _.promise()
- _.range()
- _.template() Util
- _.toString() Util
- _.trim() Util
- _.values() Util
- define() Web, Util
- promise.always()
- promise.error() Web, Util
- promise.fire()
- promise.stop()
- promise.then() Web
- require() Web, Util
- How to...