【发布时间】:2026-01-18 21:40:01
【问题描述】:
我需要有关来自 AJAX 的 CSS 文件和 HTML 代码之间的计时问题的帮助。我通过在头部添加链接来加载 CSS,并且我通过 AJAX 加载 HTML 内容。
我的意图是将样式(在 profile_info.css 文件中)应用于动态内容(由 profile_info.php 生成)。这就是为什么我首先下载 css 然后要求 ajax 获取内容。
如何确保首先加载 CSS,以便将样式应用于动态 HTML 内容?代码如下:
$('head').append( $('<link rel="stylesheet" type="text/css" />').attr('href', 'css/profile_info.css') );
$.get('/ajax/controllers/profile_info.php',
{id: user_id},
function(response){
$('#middle_content').html(response);
});
【问题讨论】:
-
为什么需要动态地将样式添加到文档的头部?这将导致您失去将 CSS 放在 元素中的性能优势。浏览器通常会在它到达 Javascript 之前处理该 CSS,但在您的情况下,因为您在 Javascript 中动态地执行它,所以情况并非如此。你真的需要像那样动态添加 CSS 吗?
-
是的,我认为动态内容的样式,我们有 2 个解决方案。1.我们需要静态地将 CSS 用于将来所有即将出现的 html 内容在页面上。另一种是动态加载CSS,这就是我在代码中尝试的
-
我不是 100% 确定,但我认为这应该按原样工作。你确定 CSS 文件被加载了吗?您可能需要像
/css/profile_info.css这样的根路径 -
CSS 和 ajax 内容正在完美加载,但有时 CSS 加载比 html 内容需要更多时间。在这种情况下,样式在 :(.
-
另一种方法,使用 CSS 变量:*.com/a/65927959/2213708