jQuery高亮表行

Ste*_*ven 5 wordpress jquery

我需要在鼠标上突出显示一个表格行.看起来很容易做到,对吧?特别是使用jQuery.但是,唉,我不是那么幸运.

我已经测试了不同的解决方案来突出表格行,但似乎没有任何工作:-(

我测试了以下脚本:

// TEST one    
jQuery(document).ready(function() { 

  jQuery("#storeListTable tr").mouseover(function () { 
    $(this).parents('#storeListTable tr').toggleClass("highlight"); 
    alert('test'); // Just to test the mouseover event works
  }); 

});

//TEST 2
jQuery(document).ready(function() { 

   $("#storeListTable tbody tr").hover( 
     function() {  // mouseover 
          $(this).addClass('highlight'); 
     }, 
     function() {  // mouseout 
          $(this).removeClass('highlight'); 
     } 
   );
});
Run Code Online (Sandbox Code Playgroud)

这是我的HTML代码

<html> 
  <head> 
  <title>Title</title> 
  <link rel="stylesheet" href="css/storeLocator.css" type="text/css" 
media="screen" charset="utf-8" /> 
  <script type="text/javascript" src="js/jquery.js" charset="utf-8"></ 
script> 
  </head> 
  <body> 

<table id="storeListTable"> 
    <thead> 
      <tr class="even"> 
        <th>ID</th> 
        <th>Navn</th> 
        <th>E-post</th> 
        <th>Nettside</th> 
      </tr> 
    </thead> 
    <tbody> 
      <tr class="" id="store1"> 
        <td>10</td> 
        <td>Boss Store Oslo</td> 
        <td> <a href="mailto:">E-post</a></td> 
        <td> <a href="#">www</a></td> 
      </tr> 
      <tr class="" id="store3"> 
        <td>8</td> 
        <td>Brandstad Oslo City</td> 
        <td> <a href="mailto:a@brandstad.no">E-post</a></td> 
        <td> <a href="#">www</a></td> 
      </tr> 
      <tr class="even" id="store4"> 
        <td>7</td> 
        <td>Fashion Partner AS</td> 
        <td> <a href="mailto:b@fashionpartners.com">E-post</a></td> 
        <td> <a href="#">www</a></td> 
      </tr> 
      <tr class="" id="store5"> 
        <td>1</td> 
        <td>Follestad</td> 
        <td> <a href="mailto:c@online.no">E-post</a></td> 
        <td> <a href="#">www</a></td> 
      </tr> 
      <tr class="even" id="store6"> 
        <td>2</td> 
        <td>Follestad</td> 
        <td> <a href="mailto:d@follestad.com">E-post</a></td> 
        <td> <a href="#">www</a></td> 
      </tr> 
    </tbody> 
  </table> 
  </body> 
</html>
Run Code Online (Sandbox Code Playgroud)

所以....有人能给我一个正确的方向吗?


UPDATE

我不再使用jQuery突出显示表行,而是使用CSS.

这是列表元素,但我猜这也适用于表行:

li:nth-​​child(odd){background-color:#f3f3f3; }

Jul*_*ian 33

如果您不需要IE6支持,可以使用一些简单的CSS完成突出显示:

#table tr:hover {
  background-color: #ff8080;
}
Run Code Online (Sandbox Code Playgroud)


Alt*_*ept 9

试试这个插件http://p.sohei.org/jquery-plugins/columnhover/

这是你如何使用它.

<script type="text/javascript"> 
    $(document).ready(function()
    {
        $('#storeListTable').columnHover({ hoverClass:'highlight'});
    });
</script> 
Run Code Online (Sandbox Code Playgroud)

照顾自己


whe*_*hys 5

测试时,警报消息是否实际弹出?

如果是这样,问题可能出在你的CSS上.我花了很长时间才意识到应用于tr标签的大多数样式都没有任何效果.因此,通常,您需要将样式应用于行中的每个td

.highlight td {highlighted appearance}
Run Code Online (Sandbox Code Playgroud)

而不是

.highlight {highlighted appearance}
Run Code Online (Sandbox Code Playgroud)