このjQueryがHTML文字列の読み込み/解析に失敗するのはなぜですか?

StackOverflow https://stackoverflow.com/questions/1444030

  •  22-07-2019
  •  | 
  •  

質問

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タグに配置されます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top