2011-05-26 45 views
0

我的网页包含一些外部JavaScript(准确的MET Office天气部件),它将一些HTML加载到页面中。改变通过javascript加载的部件颜色的方法

我试着改变使用jQuery的部件颜色来改变特定位的CSS,一旦页面加载,但它似乎并没有工作。

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('div#location').css('color', 'red !important'); 
    }); 
</script> 

有什么建议吗?谢谢。

+0

检查的变化,你在上面使用萤火虫发,看看它是否有效,否则在dom中降低的东西有一个风格,将覆盖你的价值... – Haroon 2011-05-26 14:55:20

+0

什么时候遇到的办公室小部件实际上加载到页面?在document.ready之前或稍后通过ajax调用? – Haroon 2011-05-26 14:56:11

回答

0
$('#location').css({'color':'#f00'}); 

另外请记住,如果你有div中的元素样式,他们可能会重写容器的样式。 更好的解决方案是创建CSS规则,只适用一类的JS加载的内容

JS:

$('#location').addClass('my-awesome-color-class'); 

CSS:

.my-awesome-color-class, 
    .my-awesome-color-class a, 
    .my-awesome-color-class p { color: #f00 !important } /* ans so on and so forth */ 
+0

这不行,恐怕。刚注意到javascript小部件是作为iFrame插入的,而不是直接插入到我的页面中 - 是否有改变外部页面中的CSS? – zorc323 2011-05-26 15:07:40

+0

除非iframe使用与您相同的域,或者您有权访问iframe页面(代码访问),否则该小部件允许通过参数进行其他样式。 – devmatt 2011-05-26 15:16:16