Замена jQuery каждый с для

По умолчанию кажется, что наличие xorg.conf было удалено от 12,04. xorg.conf.d каталог может быть найден в/usr/share/X11/. При помещении xorg.conf файла в/etc/X11 затем, система возьмет его, хотя (и может также взять его, если вставлено/usr/share/X11 - я не попробовал это). Если у Вас есть свой старый, Вы могли бы попытаться поместить его там и видеть, решает ли это Вашу проблему. У меня были некоторые проблемы с этим при установке twinview, но это могло бы быть хорошо для единственного монитора.

10
задан ROMANIA_engineer 25 December 2017 в 17:33
поделиться

2 ответа

Это то, что jQuery делает с .each , в основном :

$.fn.each = function(callback) {
    var i, length = this.length;
    for(i = 0; i < length; ++i) {
        callback.call(this[i]);
    }
};

Так что нетрудно заменить «содержимое» вашей анонимной функции на callback.call вызов. Только не забудьте заменить this на временное с объектом jQuery.

Преобразование предоставленного вами кода:

var foo = $this.find("div.class"),
    fooLength = foo.length,
    i,
    $thisparent;

for (i = 0; i < fooLength; ++i) {
    $thisparent = $(foo[i]).parent();

    if (condition) {          
        $(foo[i]).prepend($thisparent.text());
    }

    if (condition2) {          
        $(foo[i]).prepend($thisparent.text());
    }
}

Для дополнительной (потенциальной) скорости кешируйте foo [i] в временный. тоже и назначьте $ thisparent только при необходимости. Если условие и условие2 являются взаимоисключающими, используйте единственное if (условие || условие2) .

.
9
ответ дан 3 December 2019 в 23:14
поделиться

Кто-то сравнил производительность для и $ .each :

http://jquery-howto.blogspot.com/2009/ 06 / javascript-for-loop-vs-jquery-each.html

5
ответ дан 3 December 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: