У меня есть массив внутри $.each
функции.Я хочу перебрать его, чтобы создать новый или измененный массив.Но мне нужно получить доступ к $(this)
извне $.each
loop:
// target these data attributes:
$selector = $('[data-my0], [data-my1], [data-my2]');
$.each($selector, function() {
var $this = $(this), // cache selector
keys = ['my0', 'my1', 'my2']; // array of data keys
// I want to use the keys array to make a vals array to this:
// var vals = [$this.data('my0'), $this.data('my1'), $this.data('my2')];
// This doesn't seem to work (can't read from length 0 error):
var vals = $.map( keys, function( key ) { return $this.data(key); });
});
Я думаю, что это можно сделать, используя $.each
или $.map
, но я застрял здесь,Я знаю, $(this)
обычно не используется с $.map
, как с $.each
.В этом случае я пытаюсь передать извне $this
, который представляет селектор.