Commit 079d651e authored by John Resig's avatar John Resig

Added $(...).map() functionality. (Also closes #1250, imo)

parent 5c19701a
...@@ -976,3 +976,23 @@ test("slice()", function() { ...@@ -976,3 +976,23 @@ test("slice()", function() {
isSet( $("#ap a").slice(0,3), q("google", "groups", "anchor1"), "slice(0,3)" ); isSet( $("#ap a").slice(0,3), q("google", "groups", "anchor1"), "slice(0,3)" );
isSet( $("#ap a").slice(-1), q("mark"), "slice(-1)" ); isSet( $("#ap a").slice(-1), q("mark"), "slice(-1)" );
}); });
test("map()", function() {
expect(2);
isSet(
$("#ap").map(function(){
return $(this).find("a").get();
}),
q("google", "groups", "anchor1", "mark"),
"Array Map"
);
isSet(
$("#ap > a").map(function(){
return this.parentNode;
}),
q("ap","ap","ap"),
"Single Map"
);
});
...@@ -1189,6 +1189,12 @@ jQuery.fn = jQuery.prototype = { ...@@ -1189,6 +1189,12 @@ jQuery.fn = jQuery.prototype = {
slice: function() { slice: function() {
return this.pushStack( Array.prototype.slice.apply( this, arguments ) ); return this.pushStack( Array.prototype.slice.apply( this, arguments ) );
}, },
map: function(fn){
return this.pushStack(jQuery.map( this, function(elem,i){
return fn.call( elem, i, elem );
}));
},
/** /**
* @private * @private
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment