2012-10-28 53 views
1

一旦意識到你不能有一個內聯僞類 - How to write a:hover in inline CSS? - 我看着有Javascript做與onMouseOveronMouseOut事件相同的工作來模擬:hover僞類。當鼠標在它上面時,我試圖從文本中刪除下劃線。是否有人可以提供可以做到這一點的JavaScript片段?在Javascript中強調?

我試過onMouseOver="this.style.textDecoration="none"",但我認爲對比的引文會把所有東西都扔掉。

任何想法?

注意:不幸的是,必須在不使用外部或內部樣式表(僅內聯)的情況下實現此效果。如果你能使用jQuery它會更容易

<a onmouseover="this.style.textDecoration='none';" onmouseout="this.style.textDecoration='underline';">hover me</a> 


+0

你確定你不能使用'style'元素嗎?人們經常認爲,因爲他們不能影響'head'元素。但'style'實際上也在'body'內工作(即使正式的HTML語法禁止它)。 –

回答

7

您可以通過

onMouseOver="this.style.textDecoration='none';" 
+0

這有效,但我也發現分號是不必要的。這只是良好的編碼習慣嗎? –

+2

這是很好的編碼習慣,但對於一個聲明來說,這是不必要的。如果你喜歡它,你也可以做'onMouseOver ='this.style.textDecoration =「none」;''(引號的反轉) – vol7ron

+2

Javascript在語句結束時沒有分號。但是把一個人明確地標記陳述的結尾總是一個好習慣。 – techfoobar

3

這裏是你的答案做到這一點。只需編寫一次以下代碼。然後你不必改變你的標記。

<script type="text/javascript"> 
(function($) { 
    $(function() { 
     $('a').hover(
      function() { 
       $(this).css('text-decoration','none'); 
      }, 
      function() { 
       $(this).css('text-decoration','underline'); 
      } 
     ) 
    }); 
} (jQuery)); 
</script> 
0

我想你不應該使用JavaScript,CSS,但:

.underlineHover:hover { 
    text-decoration: underline; 
} 
<span class="underlineHover">Content</span> 

注意:我使用的類underlineHover,但要注意,類應該有一個語義含義而不是一個樣式。