我记得在过去使用插件,我可以使用AJax加载页面并仅更新DOM的一部分。 AJax请求返回整个HTML页面,但只有一小部分取代了当前加载的DOM的一部分。
例如,SO可以使用此功能获取http://stackoverflow.com
并仅更新#content
。因此,会发出一个AJax请求来获取http://stackoverflow.com
,从返回的字符串中获取#content
,并更新DOM的#content
。
很抱歉,如果我的问题令人困惑。没有插件我该怎么做?
答案 0 :(得分:3)
.load()
功能旨在实现此目的。只需包含元素的选择器以及URL,如下所示:
$('#content').load('http://stackoverflow.com #content', optionalCallbackFunction);
这将替换当前页面上ID为content
的元素的内容,并且AJAX请求返回到content
页面的ID为http://stackoverflow.com
的元素的内容,然后运行名为optionalCallbackFunction
的函数。当然,假设请求成功。
答案 1 :(得分:0)
如果没有AJAX,您可以解析这样的原始字符串:
var str = "<div><h1>Page Title</h1><div id='content'>This is new.</div></div>";
var text = $("#content",$(str)).html();
$('#content').html(text);