Помогите мне оптимизировать этот селектор? $ ('# data div.item: has (div.video_guid: empty)') - PullRequest
0 голосов
/ 13 марта 2009

В настоящее время это не так медленно, чтобы сделать сайт непригодным для использования, но в мобильном сафари на iphone есть заметная задержка. Есть ли более простой способ сделать это?

"Найти элементы div.video с пустым div.video_guid"

Ответы [ 2 ]

0 голосов
/ 14 марта 2009

Читать этот связанный вопрос . Согласно этому,

$(‘div.item:has(div.video_guid:empty)’, '#data')

должно быть быстрее. Странно, но, видимо, измеримо.

0 голосов
/ 13 марта 2009

Есть ли еще где-нибудь на странице div с классом video_guid? Если нет, вы можете упростить это до:

$('div.video_guid:empty');

Единственное различие между вашим селектором и моим состоит в том, что ваш будет соответствовать родительскому div.item, а мой - фактическому div.video_guid. Чтобы обойти это, как только мой селектор совпадет, если вы хотите выполнить операции с родителем div.item, вы можете просто сделать:

$('div.video_guid:empty').each(function() {
    var container = $(this).parents('div.item');
    // do something to the containing div
});

Учитывая все обстоятельства, я ожидаю, что это будет лучше ..

...