Функция зацикливания универсального массива jQuery: $.each
, не является членом Array.prototype
, поэтому:
$.each(arr, function() {
console.log($(this).children());
});
Теперь я хотел бы получить все атрибуты для этого теста.
Если вы хотите получить test
атрибут span
с классом "my_values" внутри элементов в arr
, вы можете использовать $.map
:
var testValues = $.map(arr, function() {
return $(this).find('span.my_values[test]').attr('test');
});
... который дает вам массив значений test
.
Примечание 1: Поскольку вы используете jQuery, который по своей сути основан на множествах, вместо того, чтобы ваша fnGetSelected
функция возвращала Array
соответствующих элементов, как насчет того, чтобы она возвращала объект jQuery
?
function fnGetSelected( oTableLocal )
{
return $(oTableLocal.fnGetNodes()).filter('.row_selected');
}
Это создает объект jQuery, содержащий все возвращенные узлы, затем фильтрует его только по тем, которые имеют класс "row_selected" (как ваш оригинал), и возвращает его.
Тогда вы можете использовать это так:
var rows = fnGetSelected(oTableLocal);
rows.each(function() {
console.log($(this).children());
});
var testValues = rows.map(function() {
return $(this).find('span.my_values[test]').attr('test');
}).get();
Примечание 2: «test» - недопустимый атрибут для элементов span
, хотя браузеры допускают это. Взгляните на использование data-*
атрибутов вместо этого, например, «data-test» вместо «test».