我正在尝试$.load()
从其他页面(foo.html
)获取一些数据。假设我希望我的 current<title>Current</title>
与 foo 的标题相同,<title>Foo</title>
. 我正在做的是:
$("title").load("foo.html title");
<title>
问题是我得到了带有标签
的 foo 的标题:<title><title>Foo</title></title>
它显然不起作用。我怎样才能只得到 foo 的标题文本?
这感觉就像一个黑客,但它的工作原理。
$("<div>").load("foo.html title", function(){
$('title').text($(this).text());
});
尽管这是一个 hack,但我制作了一个您可以使用的小插件。
$.fn.loadText = function(path, selector){
var node = this[0].nodeName.toLowerCase();
$("<div>").load(path + " " + selector, function(){
$(node).text($(this).text());
});
}
像这样使用它:
$('title').loadText("some path", 'title');
如果您想加载到title
,另一个标签的文本...
$('title').loadText("some path", 'div#foo');
我会$.get(url, data, success)
按照 jquery 的建议使用 global 代替。这有效(经过测试):
$.get('foo.html', function(responseText, textStatus, XMLHttpRequest) {
$('title').text($(XMLHttpRequest.responseXML).find('title').text());
});
试试这个...
$("title").load("foo.html").find("title").text()