Могу ли я преобразовать этот цикл for в цикл $ .each? - PullRequest
1 голос
/ 16 мая 2011

У меня есть следующий скрипт, который отлично работает:

$.ajax({
    url: 'serverside_script',
    type: 'GET',
    dataType: 'json',
    error: function(xhr, status, error) {
        alert('Error: ' + status + '\nError Text: ' + error + '\nResponse Text: ' + xhr.responseText);
    },
    success: function(results) {
        var len = results.length; 

        for(i=0; i<len; i++) { 
            $("#tabs").tabs("add","tabs.aspx?tab=" + results[i].key, results[i].value)
        };
    }
});

Возможно ли преобразовать цикл for в более jquery-тип $ .each loop?

Ответы [ 3 ]

7 голосов
/ 16 мая 2011

Почему да, это так.Предоставленная функция может принимать до двух аргументов: сначала ключ и, наконец, отдельный итерируемый объект.

$.each(results, function(i, obj) {
    $("#tabs").tabs("add","tabs.aspx?tab=" + obj.key, obj.value)
});

См. ссылку для получения дополнительной информации о функции jQuery.each.

1 голос
/ 16 мая 2011

для лучшей производительности:

var tabs = $("#tabs");
$.each(results, function(index, item) {
    tabs.tabs("add","tabs.aspx?tab=" + item.key, item.value);
});

Выполнять $ ("# tabs") каждый раз не нужно.

0 голосов
/ 16 мая 2011
$.each(results, function(index, item) {
  $("#tabs").tabs("add","tabs.aspx?tab=" + item.key, item.value)
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...