2013-12-16 159 views
0

嗨,我在HTML5頭標記中有多個樣式標記。如何從樣式列表中刪除特定標記。下面是我需要使用的代碼。我需要使用高度爲50px的樣式標記或從該標籤中刪除樣式Height:50px。我該怎麼辦?從動態刪除樣式?

<html> 
<head> 
    <style>p:hover{color:red;background: red;}</style> 
    <style>p:hover{color:yellow;height:50px}</style>' 
</head>  
<body> 
<p>HELLO</p> 
</body> 
</html> 
+0

當鼠標懸停你的鏈接時,你想刪除50px? – Merlin

+0

我的第一個想法是爲什麼你有兩個風格的標籤?你只需要一個。你可以把所有的CSS放在一個樣式中。其次,你想要觸發風格變化?鼠標懸停?點擊? – Willow

+0

這僅僅是一個例子。我需要這個答案爲不同的場景,我現在不能解釋嗎?你能幫我解決我的問題 –

回答

1

要更改背景顏色的鼠標懸停你可以將它與http://jquery.com/ 你可以做同樣由'$(本)的.css(「高度」改變 $(this).css("background-color", "red");與你的元素或高度改變,「 50像素「);'

下面是一個例子:http://jsfiddle.net/M4ULF/

CSS

#my_id{ 
    height:50px; 
    width:50px; 
    background-color:#999; 
} 

HTML

<p id="my_id"></p> 

JAVASCRIPT(jQuery的)

$("#my_id").mouseover(function(){ 
    $(this).css("background-color", "red"); 
}) 
$("#my_id").mouseout(function(){ 
    $(this).css("background-color", "#999"); 
}) 
0

您可以指定一個元素的style屬性,它將覆蓋元素或類樣式。

另外,也可以在類中包含樣式的P標籤中添加一個類。該類將覆蓋元素樣式。

1

樣式會按照呈現給瀏覽器的順序加載。如果您聲明瞭一個樣式兩次,那麼第二個將總是覆蓋結尾處出現!important屬性的第一個「無盡」。

例如:

p:hover { 
    height: 50px; 
} 

p:hover { 
    height: auto !important; /* this will win */ 
} 

p:hover { 
    height: 100px; 
} 

在你的情況下,重要的是隻需要如果你試圖覆蓋現有的樣式,它只是不適合您由於某種原因unindentified。

0

我寧願重寫CSS與那些後的新規則,你已經證明:

p:hover{height:auto} 

Example

但它也可以通過JS刪除高度屬性。假設頁面看起來同樣是在的問題,該代碼將是:

document.styleSheets[1].rules[0].style.removeProperty("height") 

Example

你可以閱讀關於CSS DOM API over here