如何选择上下文的标题?我想选择它来改变页面的标题。
var handler = function(context){
document.title = //context's title
....
}
//sample context from ajax request
var context = '<!DOCTYPE html><html>\
<head><title>Hello</title></head>\
<body>\
<a href="#">Click Here</a><p>This is my sentence.</p>\
</body></html>';
.ajax{(
...
success: function(data){
handler(data);
}
});
编辑:我忘记了doctype只是因为它是必要的。上下文来自AJAX请求。
答案 0 :(得分:3)
您也可以使用正则表达式提取标题
var matches = context.match(/<title>(.*?)<\/title>/);
var title = matches[1];
刚刚发现了一种方法,非正则表达方式
title = $(context).filter("title");
console.log(title.html());
答案 1 :(得分:2)
jquery $函数的第二个参数是上下文
所以你可以尝试$("title",$(context)).text()
答案 2 :(得分:1)
var title = $(context).eq(0).text()
答案 3 :(得分:1)
var handler = function(context){
$xml=$.parseXML(context);
console.log($($xml).find('title').text());
}
var context = '<html><head><title>Hello</title></head><body><a href="#">Click Here</a><p>This is my sentence.</p></body></html>';
handler(context);
答案 4 :(得分:1)
答案 5 :(得分:1)
我不知道为什么,但没有人提到这一点。这是一个popular method来搜索响应中的元素:
$(function() {
var context = '<html><head><title>Hello</title></head><body><a href="#">Click Here</a><p>This is my sentence.</p>< /body></html > ';
alert($(context).filter("title").html()); //Use filter to get elements you want
alert($(context).filter("a").html()); //Will get HTML of that link (<a>)
alert($(context).filter("body > p").html()); //HTML of <p>
});