首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何移除表中列的悬停效果

如何移除表中列的悬停效果
EN

Stack Overflow用户
提问于 2012-12-12 12:38:15
回答 2查看 10.6K关注 0票数 3

我是新来的,这是我在这个领域的第一个问题。

我用HTML,CSS制作了一个表格。这是表格:http://abidhasan.zxq.net/table/table-others.html

如果我们将鼠标停留在一行上,将会在该行上发生悬停效果。甚至,如果我们将鼠标放在图标/价格上,价格的文本和第一列的文本将是粗体的,这样它就可以很容易地理解哪一行的哪一列,实际上我把鼠标放在了:https://www.dropbox.com/s/q8acafxu3yhefj0/table.png

百事大吉。但是,我遇到了一个问题。

(1)如果我将鼠标放在第二行,最后一列也会得到悬停效果。但是,我不想这样。我想,如果我把鼠标放在第二行,最后一列就不会悬停。

(2)当我把鼠标放在最后一列时,它会得到悬停效果,很好。但是,同时,第二行也获得了悬停效果。我也不想要这个。我希望,当我将鼠标放在最后一列时,只有最后一列会获得悬停效果,其他行/列都不会获得悬停效果,我该怎么做呢?

我的表的结构:

代码语言:javascript
复制
<table class = "table-4">
  <tr>
      <th>Tapered Triangle</th>
      <th>Diameter 8'</th>
      <th>Diameter 10'</th>
      <th>Diameter 12'</th>
      <th>Diameter 14'</th>
      <th>Diameter 15'</th>
      <th>Diameter 16'</th>
   </tr>
   <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>      
      <td></td>
      <td></td>
      <td rowspan = "5"></td>
   </tr>
   <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
   </tr>
   <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
   </tr>
   <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
   </tr>
   <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
   </tr>
</table>

主要是,我在第二行遇到了问题:

代码语言:javascript
复制
<tr>
   <td></td>
   <td></td>
   <td></td>
   <td></td>
   <td></td>      
   <td></td>
   <td></td>
   <td rowspan = "5"></td>
</tr>

第二行的最后一列

代码语言:javascript
复制
<td rowspan = "5"></td>

如果可能,请尝试通过CSS给出解决方案。如果这是不可能的CSS和您提供的解决方案与Javascript/jQuery,请告诉我细节,因为我不是专家在Javascript/jQuery。如果您提供与CSS3解决方案,也请告诉我如何满足跨浏览器兼容性的要求。我真的是新来的。所以,请原谅我的任何错误。感谢大家看到我的问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-12 15:47:38

我在css和jquery中做了一些小技巧,如下所示。

CSS部件:

代码语言:javascript
复制
<style type="text/css">
.new-child {
background:none !important;
}
.born-child {
background:#d0dafd !important;
}
</style>

jQuery部件:

代码语言:javascript
复制
<script type="text/javascript">
$(document).ready(function() {

$(".table-4 tr:eq(1)").hover(function(){
$(".table-4 tr:eq(1)").find('td[rowspan]').addClass("new-child");
});

$(".table-4 tr:eq(1) td[rowspan]").hover(function(){ 
$(".table-4 tr:eq(1) td").addClass("new-child");  
$(".table-4 tr:eq(1) td[rowspan]").removeClass("new-child");
$(".table-4 tr:eq(1) td[rowspan]").addClass("born-child");
},
function () {
$(".table-4 tr:eq(1) td").removeClass("new-child");
$(".table-4 tr:eq(1) td[rowspan]").removeClass("born-child");
}
);

});
</script>

要查看它的实际效果:http://jsfiddle.net/john_rock/emtpb/

我认为这可能会帮助你解决你的问题。

票数 1
EN

Stack Overflow用户

发布于 2012-12-12 12:46:22

答案很简单,只需在每行上有说明即可。很抱歉答案很简单,但是rowspan会给你带来很多greif。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13832872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档