Если я запустил этот код -
var html= '<html><head></head><body><div class="bar"></div></body></html>';
console.log($(html).find('div'));
Я не получаю никаких возвращенных результатов, если я запустил этот код -
var html= '<html><head></head><body><div><div class="bar"></div></div></body></html>';
console.log($(html).find('div'));
Затем я получаю один возвращаемый результат - внутренний div (<div class="bar"></div>
). Я бы ожидал, что первый фрагмент кода вернет один результат, а второй фрагмент - два результата.
Аналогично, этот код не возвращает результатов -
var code = $("<div id='foo'>1</div><div id='bar'>2</div>");
console.log(code.find('div'));
но этот код дважды предупреждает "div" -
var code = $("<div id='foo'>1</div><div id='bar'>2</div>");
code.each(function() {
alert( this.nodeName );
})
Учитывая результат второго фрагмента, я ожидал, что первый фрагмент кода вернет два результата. Может кто-нибудь объяснить, почему я получаю результаты, которые я получаю?