Subversion Repositories JSX

Compare Revisions

Last modification

Ignore whitespace Rev 495 → Rev 496

/trunk/dom.js
1066,6 → 1066,12
* <td>Element type (case-sensitivity depends on
* the document type)</td>
* </tr>
* <!--<tr>
* <th><code><var>attributes</var></code></th>
* <td><code>Object</code></td>
* <td>Attributes of the element. All attributes
* are created in the <code>null</code> namespace.</td>
* </tr>-->
* <tr>
* <th><code><var>properties</var></code></th>
* <td><code>Object</code></td>
1076,6 → 1082,8
* names and whose property values are the
* corresponding values, as supported by
* {@link jsx.dom.css#setStyleProperty()}.
* <!--Note that some properties may overwrite
* attributes.-->
* </tr>
* <tr>
* <th><code><var>childNodes</var></code></th>
1096,6 → 1104,7
jsx.dom.createNodesFromObj = (function () {
var _getKeys = jsx.object.getKeys;
var _isArray = jsx.object.isArray;
var _isHostMethod = jsx.object.isHostMethod;
 
/**
* @param {Array|Object} data
1129,39 → 1138,50
return null;
}
 
// var attributes = data.attributes;
// if (attributes && _isHostMethod(el, "setAttribute"))
// {
// var keys = _getKeys(attributes);
//
// for (var i = 0, len = keys.length; i < len; ++i)
// {
// var attrName = keys[i];
// el.setAttribute(attrName, attributes[attrName]);
// }
// }
 
var properties = data.properties;
if (properties)
{
for (var prop in properties)
keys = _getKeys(properties);
 
for (i = 0, len = keys.length; i < len; ++i)
{
if (!properties.hasOwnProperty(prop))
{
continue;
}
var propName = keys[i];
 
if (prop == "style")
if (propName == "style")
{
var style = properties[prop];
var style = properties[propName];
var _setStyleProperty = jsx.object.getFeature(jsx.dom, "css", "setStyleProperty");
if (typeof style != "string" && typeof _setStyleProperty != "function")
{
jsx.warn("JSX:dom/css.js:jsx.dom.css.setStyleProperty()"
+ " is recommended for setting style object properties");
el[prop] = style;
el[propName] = style;
}
else
{
var keys = _getKeys(style);
for (var i = 0, len = keys.length; i < len; ++i)
var styleKeys = _getKeys(style);
for (var i = 0, len = styleKeys.length; i < len; ++i)
{
var styleProp = keys[i];
_setStyleProperty(el, styleProp, style[styleProp]);
var stylePropName = styleKeys[i];
_setStyleProperty(el, stylePropName, style[stylePropName]);
}
}
}
else
{
el[prop] = properties[prop];
el[propName] = properties[propName];
}
}
}
1297,7 → 1317,11
* Removes several child nodes of a parent node in reverse order.
*
* @param {Node} parentNode
* @param {NodeList|Array} childNodes
* @param {NodeList|Array} childNodes (optional)
* The child nodes to be deleted. If not provided,
* all child nodes of <var>parentNode</var> are deleted,
* the table-safe equivalent to
* <code><var>parentNode</var>.innerHTML = "";</code>
* @return {boolean}
* <code>true</code> on success, <code>false</code> otherwise.
*/
1304,6 → 1328,11
jsx.dom.removeChildren = function (parentNode, childNodes) {
if (parentNode)
{
if (arguments.length < 2)
{
childNodes = parentNode.childNodes;
}
 
for (var i = childNodes.length; i--;)
{
parentNode.removeChild(childNodes[i]);