Поскольку возвращаемое значение each
- это объект, для которого вы вызвали each
.Возвращаемое значение функции each
вызывает используется, чтобы определить, следует ли прекратить зацикливание (то есть итерационная функция может вернуть false
, чтобы прекратить зацикливание - ссылка на документ ).
Из вашего кода неясно, что вы действительно хотите сделать в getmyValue
;вернуть значение, которое вы сохранили в самом экземпляре jQuery?Вернуть myVal
, сохраненный в первом содержавшемся элементе?Вернуть массив значений myVal
из всех содержащихся элементов?
Если вы имели в виду myVal
, сохраненный в экземпляре jQuery с помощью вашего плагина:
getmyValue : function(){
// Here, `this` is the jQuery instance on which `getmyvalue` was called
return this.myVal;
},
Если вы имели в видуmyVal
для первого элемента (обратите внимание, что в типичном случае это необработанный элемент DOM):
getmyValue : function(){
// Here, `this` is the jQuery instance on which `getmyvalue` was called.
// `this[0]` is the first matched element (a raw DOM element, typically).
// Note we check before accessing it to see if it's there, since a jQuery
// instance may have matched zero elements.
return this[0] ? this[0].myVal : undefined;
},
Если вы имели в виду массив значений myVal
из всех сопоставленных элементов (опять же, этив обычном случае это будут необработанные элементы DOM:
getmyValue : function(){
// Here, `this` is the jQuery instance on which `getmyvalue` was called.
return this.map(function() {
// Here, though, `this` one of the elements wrapped by the jQuery,
// instance typically a raw DOM element. (Each of them in a loop.)
return this.myVal;
}).get();
},
... который использует map
для получения массива значений в JQuery-оболочке, а затем get
, чтобы получить из него необработанный массив.