2013-02-13 71 views
0

有人可以帮我我的网站是:zenart website。 应该发生的事情是在悬停在表格的每一列上添加一级突出显示。我在每个相应的每个td中添加了相同的类以创建列。通过选择多个td类来添加和删除悬停上的类?

这是我的jQuery代码:

$(document).ready(function() {   
var a = $ 

a('.column1, .column2, .column3, .column4, .column5').hover(
    function(){ a(this).addClass('highlight') }, 
    function(){ a(this).removeClass('highlight') }) 
}); 
+0

入住这:) http://stackoverflow.com/questions/1143614/jquery-highlighting-selected-columns-only-in-a-table – ssbb 2013-02-13 07:07:22

+0

它扔了什么错误? – asifsid88 2013-02-13 07:07:55

+0

在网站上,类名是'.1column,.2column ...',而不是'.column1,.column2,'。你最好给你的表一个ID并使用'$。('#tableId td')' – 2013-02-13 07:09:47

回答

0

这应该为你工作。您必须从所有类中提取类的名称,并查看当前选择哪个类xcolumn。然后将风格应用到该类。

$(".1column, .2column, .3column, .4column, .5column").hover(
     function() { 
      var classes = $(this).attr('class'); 
      var n = classes.indexOf("column"); 
      var className = "." + classes.substring((n-1),(n+7)); 
      $(className).addClass("highlight"); 
     }, 
     function() { 
      var classes = $(this).attr('class'); 
      var n = classes.indexOf("column"); 
      var className = "." + classes.substring((n-1),(n+7)); 
      $(className).removeClass("highlight"); 
     } 
    ); 
+0

我看到你改变了从“高亮”到“悬停”的类的名字。请相应改变。 – 2013-02-13 07:46:30

0

我看到你的类名是1column而不是column1 ..所以选择应该是

a('.1column, .2column, .3column, .4column, .5column').hover({.... 
0
$("[class*=column]").hover(function() { 

指定每一个元素可以是难。您可以使用*=来匹配该元素与column的类别。

0

你可以用这一个尝试:

$('nav li').hover(function(){ 
    $(this).addClass('highlight'); 
},function(){ 
    $(this).removeClass('highlight'); 
});