Книга вроде бы упоминает об этом попутно, но я вполне уверен, что этот совет относится только к Sizzle (механизм выбора jQuery), а не вообще.Ваш пробег может отличаться, но браузер, который реализует querySelectorAll
, вряд ли покажет реальную разницу.
Sizzle работает наизнанку, когда это уместно, и поэтому может искать td.gonzales
, а затем посмотреть, чтобы увидетьесли это в пределах .data
, а не наоборот.Я помню, когда Sizzle впервые вышел, это было немного неожиданно, но на самом деле все получилось лучше.Таким образом, вы можете понять, почему, чем конкретнее правая часть селектора-потомка, тем лучше.
Вот контрольный пример , попробуйте в IE7, и вы увидите отмеченное предпочтениедля более конкретной правой стороны.Но попробуйте это в современном браузере, и вам, по-видимому, не должно быть никакой разницы.
Это все микрооптимизация, хотя и практически бесполезная в отсутствие реальной проблемы, которую нужно решить, потому что она сильно варьируетсяна основе элементов на вашей странице.Полезно помнить, если на самом деле медленный селектор вызывает проблемы в старых браузерах, возможно, но кроме этого ...