Side navigation
#1797 closed feature (wontfix)
Opened October 12, 2007 12:53AM UTC
Closed October 18, 2007 12:13AM UTC
Integrate extend-like Behavior in each
Reported by: | j5 | Owned by: | |
---|---|---|---|
Priority: | trivial | Milestone: | 1.2.2 |
Component: | core | Version: | 1.2.1 |
Keywords: | each DOM | Cc: | |
Blocked by: | Blocking: |
Description
Would like each method when passed an object instead of a function to merge the passed object onto the DOM element.
example:
jQuery("#somediv").each({innerHTML: "blah blah blah"});
This would give a shortcut to manipulating non-attribute fields of DOM objects (such as references to other DOM objects which have been attached).
I have modified jQuery-1.2.1.js each as follows to accomplish this:
// args is for internal usage only each: function( obj, fn, args ) { if ( args ) { if ( obj.length == undefined ) for ( var i in obj ) fn.apply( obj[i], args ); else for ( var i = 0, ol = obj.length; i < ol; i++ ) if ( fn.apply( obj[i], args ) === false ) break; // A special, fast, case for the most common use of each } else { if ( obj.length == undefined ) // modified to extend each to do an extend on the object returned with object passed for ( var i in obj ) { if (typeof fn == 'function') fn.call( obj[i], i, obj[i] ); else if (typeof fn == 'object') for (var f in fn) obj[i][f]=fn[f]; } else if (typeof fn == 'function') for ( var i = 0, ol = obj.length, val = obj[0]; i < ol && fn.call(val,i,val) !== false; val = obj[++i] ){} else if (typeof fn == 'object') for ( var i = 0, ol = obj.length; i < ol; i++) for (var f in fn) obj[i][f]=fn[f]; } return obj; },
Attachments (0)
Change History (1)
Changed October 18, 2007 12:13AM UTC by comment:1
resolution: | → wontfix |
---|---|
status: | new → closed |
type: | bug → feature |
I don't understand the logic of this addition. Why not just use .attr()?