6

我正在使用下面的 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;}
4

2 回答 2

1

你试过这个吗?

$.ajax({ type: "GET",   
    url: pageToLoad,   
    async: false,
    success : function(data)
    {
        $(data).find('#'+divID).appendTo('#contentcontainer').trigger('create');
        $('#index').css( "backgroundColor", "#82e4e5" );
        $('#portfolio').css( "backgroundColor", "#fb5656" );
    }
});
于 2013-09-06T02:34:35.777 回答
1

您不需要在 AJAX 调用后刷新样式。您可以创建一个jsFiddle作为示例吗?

我创建了一个适合我的jsFiddle。但是我不得不用一个div. 我也摆脱了.trigger('create')代码。

于 2013-09-06T02:59:11.003 回答