Вы всегда можете ссылаться на объект jQuery в переменной:
var $el = $('#element');
... затем манипулируйте им.
$el.doSomething(); // call some jQuery methods from the cached object
$el.doSomethingElse();
Если причина, по которой вы хотели .each()
, состояла в том, чтобы ссылаться на элемент DOM как this
, вам не нужно ключевое слово this
для этого, вы можете просто извлечь элемент DOM из объекта jQuery.
var element = $('#element')[0]; // both of these give you the DOM element
var element = $('#element').get(0); // at index 0
Два из них эквивалентны и будут извлекать элемент DOM, на который будет ссылаться как this
в .each()
.
alert( element.tagName ); // alert the tagName property of the DOM element
alert( element.id ); // alert the ID property of the DOM element
Я бы отметил, что не обязательно использовать каждый из них для перебора одного элемента.
Преимущества состоят в том, что у вас есть легкий доступ к элементу DOM, и вы можете сделать это в новой области видимости, чтобы не загромождать окружающее пространство имен переменными.
Есть и другие способы сделать это. Возьмите этот пример:
(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 );