JQuery селектор производительности - PullRequest
3 голосов
/ 08 февраля 2011

Есть ли более эффективный способ написать это.

$('#test').find('option:selected[value!=""]')

Ответы [ 2 ]

5 голосов
/ 08 февраля 2011

Вы можете настроить его немного, но используя методы вместо Sizzle:

$('#test').find('option').filter(function() {
    return this.selected && this.value.length
});

Тест : http://jsperf.com/sizzle-vs-methods-filter/12

.filter() составляет около 70%быстрее для меня.

0 голосов
/ 08 февраля 2011

Ну, всегда будет только один выбранный, поэтому вам не нужен обработчик find(), по моему мнению.

Я просто напишу это так:

$('#test option:selected[value!=""]')

Я еще не проверял.

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