Monday, May 20, 2024
112
rated 0 times [  114] [ 2]  / answers: 1 / hits: 17770  / 14 Years ago, mon, january 31, 2011, 12:00:00

What's the jQuery equivalent for each():



$(.element).each(function(){  
// do stuff
});


when attaching a function to a single element, like #element ?


More From » jquery-selectors

 Answers
66

You can always reference the jQuery object in a variable:



var $el = $('#element');


...then manipulate it.



$el.doSomething();          // call some jQuery methods from the cached object
$el.doSomethingElse();


If the reason you wanted .each() was to reference the DOM element as this, you don't really need the this keyword to do it, you can simply grab the DOM element out of the jQuery object.



var element = $('#element')[0];       // both of these give you the DOM element
var element = $('#element').get(0); // at index 0


The two of these are equivalent, and will retrieve the DOM element that would be referenced as this in the .each().



alert( element.tagName );  // alert the tagName property of the DOM element
alert( element.id ); // alert the ID property of the DOM element





I'd note that it isn't necessarily bad to use each to iterate over a single element.



The benefits are that you have easy access to the DOM element, and you can do so in a new scope so you don't clutter the surrounding namespace with variables.



There are other ways to accomplish this as well. Take this example:



(function( $ ) {

// Inside here, this will refer to the DOM element,
// and the $ parameter, will reference the jQuery library.

alert( this.tagName );

// Any variables you create inside will not pollute the surrounding
// namespace.

var someVariable = 'somevalue'; // is local to this function

}).call( $('#element')[0], jQuery );

[#93963] Sunday, January 30, 2011, 14 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
isaacvalentinn

Total Points: 325
Total Questions: 120
Total Answers: 131

Location: North Korea
Member since Tue, Jun 16, 2020
4 Years ago
isaacvalentinn questions
Mon, Jan 18, 21, 00:00, 3 Years ago
Mon, Nov 23, 20, 00:00, 4 Years ago
Wed, Sep 23, 20, 00:00, 4 Years ago
;