Si me quedo este código -Usando jQuery para buscar una cadena de HTML
var html= '<html><head></head><body><div class="bar"></div></body></html>';
console.log($(html).find('div'));
no da resultados positivos devueltos, si funciono este código -
var html= '<html><head></head><body><div><div class="bar"></div></div></body></html>';
console.log($(html).find('div'));
Entonces consigo un único resultado devuelto - el div interno (<div class="bar"></div>
). Hubiera esperado que el primer fragmento de código devolviera un único resultado y el segundo fragmento dos resultados.
Del mismo modo, este código no devuelve ningún resultado -
var code = $("<div id='foo'>1</div><div id='bar'>2</div>");
console.log(code.find('div'));
pero este código alertas 'div' dos veces -
var code = $("<div id='foo'>1</div><div id='bar'>2</div>");
code.each(function() {
alert(this.nodeName);
})
Teniendo en cuenta el resultado del segundo fragmento, lo que habría esperado el primer código fragmento para devolver dos resultados. ¿Podría alguien explicar por qué obtengo los resultados que obtendré?
http://jsfiddle.net/ipr101/GTCuv/
he cambiado '' console.log' a alert', y alertado '[object Object] ', por lo que debe haber encontrado algo ... –
@Eran Zimmerman: Esto se debe a que jQuery siempre devuelve un objeto, independientemente de la cantidad de coincidencias encontradas para el selector. –
Supongo que [Objeto objeto] se refiere a la matriz vacía que jQuery devuelve. – ipr101