我需要从使用$ .get()检索的页面对象的body元素中获取class属性。在下面的示例所示,fullContent被设置为对象,但我不能选择body元素...我宁愿不诉诸文本操作来得到这个
$.get(url, refreshFullContent);
var refreshFullContent = function(response, status, xhr)
{
fullContent = response;
var bodyclass = $(fullContent).find("body").attr("class");
$("body").attr("class", bodyclass);
}
有没有办法用得到这个对象上的选择器(就像我在这个例子中所做的那样)?如果没有,从文本中得到这个最好的方法是什么? xhr.responseText包含整个响应的字符串。
感谢您试图帮助,但这并没有奏效。我将尝试使用$ .ajax方法而不是$ .get – andrhamm 2011-02-24 13:23:10
@andrhamm:不幸的是,使用'.ajax'不会给出任何不同的结果。 '$ .get'只是'$ .ajax' GET请求的便捷包装。你是否证实'response'实际上包含你期望的内容? – user113716 2011-02-24 13:43:39
是的,它包含我请求的整个HTML文档。奇怪的是,我可以从响应中获取任何其他元素。我将一个特定元素放入页面中(但是该元素的样式受到body类的影响)。我的解决方法是打印(服务器端)相同的类从身体标记到我可以选择的元素中的数据属性。从那里我可以这样做:'var bodyclass = $(“。content.lower”)。attr(“data-bodyclass”);'then'$(“body”)。removeClass()。addClass(bodyclass); ' – andrhamm 2011-02-24 15:45:54