簡體   English   中英

如何通過javascript覆蓋內聯css?

[英]How to override inline css through javascript?

我們可以通過JavaScript覆蓋內聯css嗎? 與IE6兼容

我發現這個純粹的CSS解決方案,但在IE中不起作用。

http://nataliejost.com/override-inline-styles-from-the-stylesheet/

http://www.sitepoint.com/blogs/2009/05/27/override-inline-css/

<div class="block">
    <span style="font-weight: bold; color: red;">Hello World</span>
</div>

我們可以使用此解決方案覆蓋此內聯樣式

.block span[style]{
    font-weight: normal !important;
    color: #000 !important;
}

此解決方案適用於IE6以外的所有主流瀏覽器。

當然你可以使用jQuery的css()方法: http//docs.jquery.com/CSS/css#namevalue

因此,例如,如果您有以下HTML:

<p style="color:red;">A colored text</p>

您可以通過在jQuery中執行以下操作來更改顏色:

$("p").css("color","blue");

它將在IE6中運行。

!important在IE6中有效,它只是你的選擇器span[style]不會,因為那里不支持屬性選擇器。 如果你能找到另一個選擇你想要覆蓋的跨度的選擇器,那就行了。 也許只是.block span就足夠了?

否則,是的,如果你絕對必須,你可以從JavaScript更改它(你沒有對標記的控制嗎?):

span.style.fontWeight= 'normal';
span.style.color= 'black';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM