throw message;
}
}
-
// Compatibility {{{
if (typeof Array.prototype.push != "function")
Array.prototype.push = function (value) {
}
};
+$.xml = function (value) {
+ return value
+ .replace(/&/, "&")
+ .replace(/</, "<")
+ .replace(/>/, ">")
+ .replace(/"/, """)
+ .replace(/'/, "'")
+ ;
+}
+
$.type = function (value) {
var type = typeof value;
},
append: function (html) {
- $.each(this, function (node) {
+ $.each(this, $.type(html) == "string" ? function (node) {
var doc = $.document(node);
// XXX: implement wrapper system
var child = div.childNodes[0];
node.appendChild(child);
}
+ } : function (node) {
+ $.each(html, function (value) {
+ node.appendChild(value);
+ });
});
},
+ clone: function (deep) {
+ return $($.map(this, function (node) {
+ return node.cloneNode(deep);
+ }));
+ },
+
descendants: function (expression) {
var descendants = $([]);
return $($.map(this, function (node) {
return node.parentNode;
}));
+ },
+
+ xpath: function (expression) {
+ var value = $([]);
+
+ $.each(this, function (node) {
+ var doc = $.document(node);
+ var result = doc.evaluate(expression, node, null, XPathResult.ANY_TYPE, null);
+
+ if (result.resultType == XPathResult.UNORDERED_NODE_ITERATOR_TYPE)
+ for (;;) {
+ var next = result.iterateNext();
+ if (next == null)
+ break;
+ value.add([next]);
+ }
+ });
+
+ return value;
}
};
}
},
+ id: {
+ get: function (node) {
+ return node.id;
+ },
+ set: function (node, value) {
+ node.id = value;
+ }
+ },
+
src: {
get: function (node) {
return node.src;