为什么这个jQuery无法加载/解析我的HTML字符串?

时间:2009-09-18 11:43:17

标签: jquery html parsing get

jQuery.get(window.location.href, function(data) {
  alert(data);
  alert($(data).html());
});

第一个弹出窗口是所有HTML都很好且健康。

第二个弹出窗口是空白的。为什么? (HTML符合XHTML标准)

4 个答案:

答案 0 :(得分:3)

来自documentation

  

HTML字符串不能包含   一个无效的元素   div,例如html,head,body或   标题要素。

如果您要获取完整的HTML文档,那么您将拥有许多可能不会出现在div中的元素。

答案 1 :(得分:0)

因为它将返回包含所有HTML的字符串。 data不是jQuery对象。

答案 2 :(得分:0)

我在电脑上试过这个。你得到以下回复:

"

<!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 obejct。您需要在服务器端脚本页面上显式输出HTML。

我想如果您确实需要HTML中的项目,那么可以使用内置的字符串方法将其从文本中删除。

答案 3 :(得分:0)

将您的代码更改为此类

$('#yourContainingDiv').html(data);

数据中的html将放在div标签