Ваш результат не массив, это объект.(И это не имеет ничего общего с jQuery, это прямой объект JavaScript. :-))
Вот как вы это сделаете:
var Links = {};
$('#theLinks > li > a').each(function() {
var $this = $(this);
Links[$this.text()] = $this.attr('href');
});
Живой пример
Примечание. Я использовал довольно ограничительный селектор, #theLinks > li > a
(a
только , когда он является прямым потомком li
только , когда онпрямое дитя #theLinks
).Вы можете использовать более свободную, если ваша структура может немного отличаться, например, #theLinks li a
, которая учитывает промежуточные элементы между ul
и li
с, а также между li
с и a
с.Это полностью зависит от того, чего вы хотите достичь.Но с разметкой, которую вы дали, я, вероятно, был бы довольно сдержан.