Por que isso jQuery falhar ao carregar / analisar a minha string HTML?
Pergunta
jQuery.get(window.location.href, function(data) {
alert(data);
alert($(data).html());
});
O primeiro pop-up é tudo de bom HTML e saudável.
O segundo pop-up está em branco. Por quê? (O HTML é compatível com XHTML)
Solução
A partir da documentação :
A seqüência de HTML não pode conter elementos que são inválidos dentro de um div, como html, cabeça, corpo, ou elementos do título.
Se você está buscando um documento HTML completo, então você terá muitos elementos que podem não aparecer em um div.
Outras dicas
Porque ele irá retornar uma string com todo o HTML. data
não é um objeto jQuery.
Eu tentei isso no meu PC. Você recebe de volta o seguinte:
"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1"><title>
</title><link href="App_Themes/selectors.css" rel="stylesheet" type="text/css" /></head>................etc
Isso não vai analisar em um obejct jQuery. Você começa necessidades para estar em uma página script do lado do servidor que irá HTML explicitamente saída.
Suponho que se você realmente precisa de um item no HTML, então você pode tira-lo para fora do texto usando o built-in métodos de string.
Mude seu código para algo como isto
$('#yourContainingDiv').html(data);
O html em dados serão colocados na tag div