使用带有字符串的JQuery(而不是DOM)

时间:2012-04-20 21:45:07

标签: javascript jquery html ajax

我记得在过去使用插件,我可以使用AJax加载页面并仅更新DOM的一部分。 AJax请求返回整个HTML页面,但只有一小部分取代了当前加载的DOM的一部分。

例如,SO可以使用此功能获取http://stackoverflow.com并仅更新#content。因此,会发出一个AJax请求来获取http://stackoverflow.com,从返回的字符串中获取#content,并更新DOM的#content

很抱歉,如果我的问题令人困惑。没有插件我该怎么做?

2 个答案:

答案 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);