我有一个链接了一个 CSS 的文档。如何将当前的 CSS 替换为来自我刚刚使用 jQuery 使用 AJAX 请求获取的文档的 CSS?
这是我现在正在尝试的代码,但到目前为止没有成功:
$(function() {
$.get('next_page.html', function(data, textStatus) {
$('link[rel=stylesheet]:first')
.attr('href', $(data).find('link[rel=stylesheet]:first').attr('href'));
});
});
更新: $.find() 在任何浏览器中都不起作用(在 Mac 上测试了 Firefox 3.5、Chrome 和 Safari 3),但 $.filter() 仅在 Firefox 3.5 中找到了样式表 - 在 Chrome 和 Safari 3 中仍然没有。
它应该很简单,对吧 - 用新的 CSS href 替换当前的 CSS href,瞧?
出于某种原因,jQuery 无法在<head>
来自 AJAX 请求的标记内找到任何内容。<head>
此外,jQuery 甚至无法从 AJAX 数据中找到整个自身。也就是说,$(data).find('head').size()
回调函数内部返回 0。
我正在使用 jQuery 1.4。
2010 年 2 月 10 日更新:我向 jQuery 提交了一个关于此的错误,他们同意无法<head>
从 ajax 数据的标记中找到任何内容。
这是我得到的回复:
http://dev.jquery.com/ticket/6061#comment:1 — “是的,这是正确的 - 解析直接 HTML 我们只保证正文元素的内容。如果您希望直接访问页面的 XML,那么我建议您明确地制作文件 .xhtml 或将其作为 XML 请求,例如:"