Я хотел бы ответить на 4 пункта в принятом ответе, надеюсь, кто-то может объяснить, почему я ошибаюсь.
Что касается модульных тестов:
jQuery предоставляет несколько способов поиска определенных элементов:
$("#your_div").find(".your_things"); //Find everything inside
//-or-
$("#your_div").filter(".your_things"); //Find only the top level
//-or-
$("#your_div .your_things"); //Easiest
$('div-selector').find('the selector-you-are-looking-for');
var elems = jQuery(".foo", jQuery("#divYourWantToLimitTo") ); //BAD
//or
var elems = jQuery("#divYourWantToLimitTo .foo"); //Better
//or
var elems = jQuery("#divYourWantToLimitTo").find(".foo"); //BEST
Старый вопрос, но все, похоже, пропустили селектор jQuery с расширенным охватом (используя требуемый объем, т. е. ваш селектор Div, в качестве второго параметра)
, например. use
var $matches = $('.adiv', '#mydiv');
Это более короткий эквивалент:
var $matches = $('#mydiv').find('.adiv');
getDocumentById
. Все остальное передается Sizzle. Если браузер не имеетquerySelector
- и в некоторых случаях IIRC было показано, что Sizzle даже превосходитquerySelector
. Фактически, я сделал быстрый google сейчас, и есть много статей об этом; вот один из них . – Amadan 11 May 2012 в 01:47