2013-01-15 83 views
0

我是jQuery的新手,但不知道我做錯了什麼。當我將鼠標懸停在文字「更改」上時,我希望表格行的顏色發生變化。請幫忙! (是的文件指的是保存的jQuery庫)jquery更改懸停類

<html> 
<head> 
    <title>testestsets</title> 
    <script type="text/javascript" src="jquery.js"></script> 
    <script type="text/javascript"> 
     $('#changer').hover(function) { 
      $('#row1').css({ 
       'background-color':'#000', 
       'color':'#FFF' 
      }); 
     }; 
    </script> 
</head> 

<body> 
    <table border="1"> 
     <tr id="row1"> 
      <td>ONE</td><td>TWO</td><td>THREE</td><td>FOUR</td> 
     </tr> 
    </table> 
    <br/><br/> 
    <p id="changer">Change it</p> 
</body> 
</html> 
+0

我不喜歡downvote!所以我刪除了我的答案,但認真使用'代碼jQuery(函數($,undefined){})'並使用'代碼$(document.body).on({mouseover:function(e){},mouseout:function e){}},「一些選擇器元素綁定」)'靈活地添加你的元素動態和最重要的方式更快jquery – mikakun

回答

7

總結jQuery代碼在文檔準備調用是這樣的:

$(document).ready(function() { 
    $('#changer').hover(function() { 
    $('#row1').css({ 
     'background-color': '#000', 
     'color': '#FFF' 
    }); 
    }); 
}); 

而且,你必須在函數調用中的錯字你插入語。

jsFiddle example

+0

.on將解決這個問題;背景顏色不起作用 – mikakun

+0

謝謝!現在,如果我不想在徘徊時將顏色恢復到正常狀態,我該怎麼做? –

+0

@SimonCarlson - 最簡單的方法是將鼠標懸停()函數的第二個函數傳遞給鼠標。像這樣[jsFiddle](http://jsfiddle.net/j08691/bYPks/1/)。 – j08691

1

要綁定一個.hover回調#changer#changer之前存在於DOM。無論是移動的JavaScript下面<p id="changer">或包裹它$(document).ready(function() {})

您還可以使用CSS僞類:hover做你正在嘗試做的,這也將刪除處理自動懸停添加類。

1
$(document).ready(function() {  
    $('#changer').hover(
     function() { 
      $('#row1').css({ 
       'background-color':'#000', 
       'color':'#FFF' 
      }); 
     }, 
     function() { 
      // what that do when they go out 
     } 
    ); 
}); 
0

你非常接近。您缺少一個document.ready和一個括號。

$(document).ready(function(){ 
    $("#changer").hover(function(){ 
     $("tr").css({ 
      'background-color': '#000', 
      'color': '#fff' 
     }); 
    }); 
}); 
1

你的jQuery有一個bug。你有一個)在錯誤的地方,功能失敗())關閉懸停功能。

此外,您還需要將其封裝在$(function(){ });之內,以便在將事件分配給DOM元素之前加載並準備好DOM。

將其更改爲:

$(function(){ 
    $('#changer').hover(function(){ 
     $('#row1').css({ 
      'background-color':'#000', 
      'color':'#FFF' 
     }); 
    }); 
}); 
0

您可以使用一個簡單的CSS做任務

#changer:hover { background-color: #000;color:fff; } 

或者,如果你想使用jquery:

$(document).ready(function() {  
    $('#changer').hover(
     function() { 
      $('#row1').css({ 
       'background-color':'#000', 
       'color':'#FFF' 
      }); 
     }, 
     function() { 
      $('#row1').css({ 
       'background-color':'#FFF', 
       'color':'#000' 
      }); 
     } 
    ); 
});