Я бы сказал, что крайне маловероятно , что имеет какое-либо значение в реальном мире. Теоретически, да, требуется меньше проверок (потому что div#foo
действительно должен быть div
, чтобы соответствовать селектору, в соответствии с спецификацией ). Но есть ли в этом какая-то реальная разница в реальном браузерном приложении? Около нуля.
Тем не менее, я всегда съеживаюсь, когда вижу такие вещи, как div#foo
в приложениях HTML. HTML имеет только один атрибут ID-типа (id
), поэтому нет необходимости в дальнейшей квалификации. Вы заставляете механизм выбора CSS (либо браузер, либо jQuery) работать тяжелее, чтобы понять, что вы имеете в виду, вы делаете селектор хрупким (например, div
становится footer
) и т. Д., И, конечно, вы do оставьте себя открытым для реализации селектора Stoopid, который не может распознать, что он может что-то искать по ID и , затем , чтобы проверить, является ли это div
, и поэтому просматривает все div
с. (Существует ли такая реализация? Возможно, вы никогда не знаете.) Если исключить некоторые крайние случаи, это всегда заставляет меня думать, что кто-то не совсем знает, что они делают.
Так что для меня скорость не главный аргумент. Бессмысленность есть. ; -)