有一个页面,b.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
</head>
<body>
<div class="statusBox">
<ul class="mod">
<li class="first"></li>
</ul>
</div>
</body>
</html>
想在 a.html 页面里获取 b.html 里的 statusBox 数据, 替换掉自己页面里的 statusBox,
ajax 获取 b.html 代码如下:
$.ajax({
url: "b.html",
success: function(data){
alert(data);
}
});
结果显示:
"<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\" />\n</head>\n<body>\n\t<div class=\"statusBox\">\n\t\t\t\t<ul class=\"mod\">\n\t\t\t\t\t<li class=\"first\">\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t</div>\n</body>\n</html>"
本来我的想法是 ajax 获取 b.html 的 DOM, 然后获取 statusBox, 并替换到本页的 statusBox, 但现在不知道怎么转到 DOM。
------解决方案--------------------
那为什么ajax不直接返回statusBox呢?
就是说你可以在服务器语言中处理了这些抓回来的html 通过正则或者其他方式获取到statusBox 然后通过ajax返回到客户端
------解决方案--------------------
使用load给url后面增加选择器
$('.statusBox').load('b.html .statusBox ul');