0

<tr>すべてに多くのものが含まれ、それぞれに他の多くを含めることができるテーブルがあります<div>(それらは自動的に生成されます)

次に、マウスを移動したときに、すべての子 (および(others div)の子) を変更backgounrd-colorしたい<tr><div><div><tr>

それから私はこれを使用しました:

$('.ui-datagrid-column').live('mousemove',function(){
            $(this).css('background-color', 'red');
            $(this).children().css('background-color', 'red');
            //ui-layout-unit-content ui-widget-content

        });
         //.ui-layout-container
        $('.ui-datagrid-column').live('mouseleave',function(){
            $(this).css('background-color', 'white');
            $(this).children().css('background-color', 'white');
        });

ただし、内部のdivの背景は変更されません<tr>

どうすればそれを達成できますか

4

2 に答える 2

1

この効果は、CSS だけで非常に簡単に実現できます。

基本的に、必要な をtr:hover *CSS に設定すると、background-colorその下のすべての要素に継承されます。したがって、その行にカーソルを合わせると、要素の背景色が上書きまたは設定されますtr

jsfiddleの例を次に示します。

于 2013-04-12T12:05:12.637 に答える
0
    $('.ui-datagrid-column').hover(function(){$(this).addClass('background');
    $(this).children.addClass('background'); 
    //this will add a background class (something like background-color: red;)
    //I guess this will work, I never added classes to children
    }
    ,function(){$(this).removeClass('background');
    $(this).children.removeClass('background')
    //this will remove it again on mouse out
});
于 2013-04-12T12:10:40.700 に答える