このjQueryがHTML文字列の読み込み/解析に失敗するのはなぜですか?
質問
jQuery.get(window.location.href, function(data) {
alert(data);
alert($(data).html());
});
最初のポップアップは、すべてのHTMLが正常で健全です。
2番目のポップアップは空白です。どうして? (HTMLはXHTMLに準拠しています)
解決
ドキュメントから:
HTML文字列に含めることはできません 内で無効な要素 div、html、head、bodyなど、または タイトル要素。
完全なHTMLドキュメントを取得する場合、divに表示されない要素が多数あります。
他のヒント
すべてのHTMLを含む文字列を返すため。 data
はjQueryオブジェクトではありません。
PCでこれを試しました。以下が返されます。
"
<!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
これはjQueryオブジェクトに解析されません。 HTMLを明示的に出力するサーバー側のスクリプトページにアクセスする必要があります。
HTMLのアイテムが本当に必要な場合は、組み込みの文字列メソッドを使用してテキストからアイテムを削除できます。
コードを次のように変更します
$('#yourContainingDiv').html(data);
データ内のhtmlはdivタグに配置されます
所属していません StackOverflow