【发布时间】:2013-09-06 02:25:24
【问题描述】:
我正在使用下面的 AJAX 代码将另一个 HTML 文件中的内容附加到我的索引页。 AJAX 工作正常,我的内容也显示出来了,但是我在 CSS 中编码的样式在 AJAX 运行后没有被应用。
我一直在网上寻找问题的答案,但到目前为止我尝试过的解决方案都没有奏效。下面我正在使用 .trigger('create') 尝试强制对我要附加的内容进行 CSS 刷新,但它不起作用。如果我通过浏览器手动刷新页面,则会应用我的样式。有人可以指出我在 AJAX 运行后如何在不刷新整个页面的情况下刷新样式的正确方向吗?
$.ajax({ type: "GET",
url: pageToLoad,
async: false,
success : function(data)
{
$(data).find('#'+divID).appendTo('#contentcontainer').trigger('create');
}
});
附加到索引页面的 HTML:
<div class="content" id="portfolio">
<div class="wrapper">
<h2>Portfolio</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vestibulum libero non egestas dapibus. Nam gravida, libero ac posuere eleifend, mauris nisi venenatis metus, non hendrerit magna justo eget lectus.</p>
</div><!--wrapper-->
<div class="clear"></div>
</div><!--content-->
在 default.css 中应用 CSS 样式:
#index {background-color:#82e4e5;}
#portfolio {background-color:#fb5656;}
【问题讨论】:
-
嗨 Leann,浏览器应该将样式应用于通过 AJAX 添加的 HTML。如果不是,请确认 CSS 选择中没有错字。从我看到的情况来看,它看起来不像,但我不知道是否还有更多的事情发生。另一个故障排除步骤可能是将 HTML 直接放入您的文件中以验证它是否会设置样式,从等式中删除 JavaScript。如果它确实有样式,那么它应该将问题缩小为 JS 中发生的一些奇怪的事情。