Могу ли я оптимизировать это двойное заполнение и исправление полей IE6, используя вместо этого селекторы / фильтры jQuery? - PullRequest
0 голосов
/ 20 мая 2011

Вот код, который я адаптировал, чтобы исправить проблему двойного заполнения и полей в IE6:

// Apply double padding & margin fix for IE6
if ($.browser.msie && parseInt($.browser.version) < 7) { 

    var elements = self.common.$body.find("*").get();

    for (var i = 0, 
             len = elements.length, 
             $e = $(elements[i]), 
             cssFloat = $e.css("float"), 
             cssDisplay = $e.css("display"); 
         i < len; 
         i++) {

        if (cssDisplay !== "none" && 
           (cssFloat === "left" || cssFloat === "right")) { 
           $e.css("display", "inline"); 
        }

    };

}

Я думал, что может быть быстрее выполнить какую-то операцию типа jQuery.filter(), где я начну с выбора только тех элементов, у которых нет display: none; и которые имеют float: left; или float: right; , Тогда я мог бы просмотреть их и просто применить исправление display: inline;.

Как вы думаете, это будет работать? Если так, то как бы выглядел этот селектор? Если нет или есть более быстрый способ, пожалуйста, дайте мне знать!

Заранее спасибо!

1 Ответ

0 голосов
/ 21 мая 2011

Я решил создать тестовый набор для jsPerf .

Результаты, кажется, одобряют мой оригинальный дизайн. По крайней мере, это отвечает на вопрос. Если у кого-то есть другой метод, я бы хотел его увидеть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...