使用.html()的firefox的jquery链接颜色问题

时间:2010-12-02 17:44:42

标签: jquery firefox colors hyperlink href

所以我有这段代码:

<a id="baby" href="#" style="display:inline-block;color:#373529;">
<div id="yea" class="like-num">Yeaaaaaaa</div>
</a>

用css

a {
 color: #1a5790; 
}

a * {
 color: #1a5790; 
}

.like-num{


color:#373529; 

}

因此即使默认链接css是蓝色,此链接中的链接颜色应该是黑色的。它有效,链接颜色确实变黑了。

但后来我调用了一个jquery ajax调用,成功后它会用返回的数据替换#yea,所以

$('#yea').html(data);

但是当数据替换完成后,即使在黑色之前,链接颜色也会变回蓝色,这只发生在firefox中,而不是在ie或chrome中

有没有人知道如何修改代码,以便即使在更换数据后链接颜色也会保持黑色:

提前致谢!

没有勺子

- 矩阵

3 个答案:

答案 0 :(得分:1)

内部元素(span)中不能包含块元素(div)。这是无效的HTML。

但是,您可以将div更改为span并使用样式display: block提供范围以将其显示为块元素。这是有效的。

更好:您也可以将display: block添加到a本身。当你这样做时,你不需要a中的额外元素,这可能会解决你的问题。

答案 1 :(得分:0)

将所有“a”和“a。*”css替换为a, a:visited { color: #1A5790; },并查看是否仍然执行此操作。

编辑:注意到div标签实际上位于标签内。这将是无效的HTML(内联元素内部的块级元素)。尝试替换&lt; div&gt;与&lt; span&gt;看看是否有帮助。

答案 2 :(得分:0)

可能是a * CSS声明。如果您的返回数据包含元素(例如span),则会获取该CSS(颜色#1a5790),而不是<a>中的那个。