Улучшить неэффективный селектор jQuery

В IntelliJ, если я использую селектор jQuery, например:

$('#roleField option').each(function() {
    // impl omitted
});

Селектор подсвечивается предложением о том, что я должен

разделители селекторов по умолчанию, которые предварительно снабжены селектором идентификаторов

что такое IntelliJ, предполагающее, что я должен заменить селектор выше?

Ответ 1

Из документации jquery этот метод не будет проходить через механизм сектора Sizzle:

$('#roleField option').each(function() {
    // No Sizzle
}); 

Где это будет:

$('#roleField').find('option')  // Sizzle!

Посмотрите раздел селекторов идентификаторов ID здесь. Следовательно, второй метод будет быстрее первого.

Ответ 2

Попробуйте использовать .find() здесь:

$('#roleField').find('option').each(function() {
    // impl omitted
});

Ваше предупреждение похоже на эффективность селектора.

Связанный поток