2012-02-18 106 views
2

我通过$.ajax加载来自另一个网页的一些HTML:

<script type="text/javascript"> 
    $(function() { 
     $.ajax({ 
      url: '/getInfo', 
      context: $('#contentBox'), 
      success: function(data) { 
       $(this).html(data); 
      } 
     }); 
    }); 

</script> 

<style type="text/css"> 
    #makeMeRed {color: red !important;} 
</style> 

<div id="contentBox"></div> 

的代码加载这个HTML到DIV ID为contentBox

<p id="makeMeRed">I'm supposed to be red.</p> 

然而,该款不红。我如何通过Ajax CSS属性加载元素?


具体而言,jQuery Mobile的CSS不会在HTML渲染我从阿贾克斯拉: http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css

回答

4

您的标记 无效

<style="text/css"> 

应该

<style type="text/css"> 

Othe rwise CSS规则应该适用于通过AJAX加载的HTML。


更新 - 提示调试无法比拟的CSS:

  • 使用元素检查员发现哪些规则beign匹配。
  • 检查标记是您在通过AJAX提取之后所期望的。
  • 确保新标记中没有内联样式或其他<style>标记可能会发生冲突。
+0

哦,对不起。谢谢,那是真的。尽管如此,代码仍然无法正常工作。 – dangerChihuahua007 2012-02-19 00:00:53

+1

@DavidFaux hmm ..试着在元素检查器上查看匹配的CSS规则 – 2012-02-19 00:02:12

+0

谢谢,显然如果不使用jQuery Mobile,CSS可以工作。 – dangerChihuahua007 2012-02-19 00:56:43