各 tr に対して約 15 個の tr と 11 個の td を含むテーブルがあります。tr をホバリングして、td 番号 8 (0 から) のみを .css() メソッドでスタイル設定することができます。
問題:私のコードでは、ホバーされたtrのものだけでなく、列全体、.mediaクラスのすべてのtdが選択されます。
編集 :
jsfiddle のリンクは次のとおりです: http://jsfiddle.net/XgH43/3/
変更:
これが私が試したことです:
注: MEDIA、LIGADO、および HIDE は、私が作成したクラスへの参照です。注 2 : 私は css や php にアクセスできません。私はそれらとは別に作業しています。後で彼らはクラスや好きなものを実装できます。
//MOUSE OVER:
//MEDIA W/O .LIGADO:
//W/O .HIDE:
$("tr.destacar:not(.hide, .ligado)").mouseover(function (){
$("td.media", $(this)).css(
{
'background' : 'purple',
'box-shadow' : 'inset 0 10px 20px 5px #FFFFFF,0 1px 5px #929292',
'-moz-box-shadow' : 'inset 0 10px 20px 5px #FFFFFF,0 1px 5px #929292',
'-webkit-box-shadow': 'inset 0 10px 20px #FFFFFF,0 1px 5px #929292',
'text-decoration' : 'underline'
}
);
}
);
//WITH HIDE:
$("tr.destacar.hide:not(.ligado)").mouseover(function (){
$("td.media", $(this)).css(
{
'background' : 'green',
'box-shadow' : 'inset 0 10px 20px 5px #FFFFFF,0 1px 5px #929292',
'-moz-box-shadow' : 'inset 0 10px 20px 5px #FFFFFF,0 1px 5px #929292',
'-webkit-box-shadow': 'inset 0 10px 20px #FFFFFF,0 1px 5px #929292',
'text-decoration' : 'underline'
}
);
}
);
//MOUSE OUT:
//MEDIA W/O .LIGADO:
//MEDIA W/O.HIDE:
$(".destacar").not(".hide, .ligado").mouseout(function (){
$("td.media", $(this)).css(
{
'background' : 'red',
'box-shadow' : 'none',
'-moz-box-shadow' : 'none',
'-webkit-box-shadow': 'none',
'text-decoration' : 'none'
}
);
}
);
//MEDIA WITH .HIDE:
$(".destacar.hide").not(".ligado").mouseout(function (){
$("td.media", $(this)).css(
{
'background' : 'yellow',
'box-shadow' : 'none',
'-moz-box-shadow' : 'none',
'-webkit-box-shadow': 'none',
'text-decoration' : 'none'
}
);
}
);
// ON CLICK:
//
//MEDIA WITH LIGADO:
$('.destacar.ligado').not(".hide").click(function () {
//MEDIA W/O HIDE:
$("td.media", $(this)).css(
{
'background' :'red',
'box-shadow' :'none',
'font-weight' :'normal',
'font-size' :'default',
'-moz-box-shadow' :'none',
'box-shadow' :'none',
'-webkit-box-shadow':'none',
'-o-box-shadow' :'none'
}
);
}
);
//MEDIA WITH .HIDE:
$('.destacar.hide.ligado').click(function () {
$("td.media", $(this)).css(
{
'background' :'yellow',
'box-shadow' :'none',
'font-weight' :'normal',
'font-size' :'default',
'-moz-box-shadow' :'none',
'box-shadow' :'none',
'-webkit-box-shadow':'none',
'-o-box-shadow' :'none'
}
);
}
);
//MEDIA W/O .LIGADO
//MEDIA W/O .HIDE:
$('.destacar').not(".hide, .ligado").click(function () {
$(this).addClass(".ligado");
$("td.media", $(this)).css(
{
'background' :'purple',
'box-shadow' :'0 1px 5px #FFFFFF,inset 0 10px 20px #305775',
'font-weight' :'bolder',
'font-size' :'12pt',
'-moz-box-shadow' :'0 1px 5px #FFFFFF,inset 0 10px 20px #305775',
'box-shadow' :'0 1px 5px #FFFFFF,inset 0 10px 20px #305775',
'-webkit-box-shadow':'0 1px 5px #FFFFFF,inset 0 10px 20px #305775',
'-o-box-shadow' :'0 1px 5px #FFFFFF,inset 0 10px 20px #305775'
}
);
}
);
//MEDIA WITH .HIDE:
$('.destacar.hide').not(".ligado").click(function () {
$(this).addClass(".ligado");
$("td.media", $(this)).css(
{
'background' :'green',
'box-shadow' :'0 1px 5px #FFFFFF,inset 0 10px 20px #305775',
'font-weight' :'bolder',
'font-size' :'12pt',
'-moz-box-shadow' :'0 1px 5px #FFFFFF,inset 0 10px 20px #305775',
'box-shadow' :'0 1px 5px #FFFFFF,inset 0 10px 20px #305775',
'-webkit-box-shadow':'0 1px 5px #FFFFFF,inset 0 10px 20px #305775',
'-o-box-shadow' :'0 1px 5px #FFFFFF,inset 0 10px 20px #305775'
}
);
}
);
完全なコードではありませんが、重要な部分です。私はそれを変更しましたが、現在はほとんど機能していますが、まだ完全には機能していません。PS .: td ではなく、.hide および .ligado クラスを持ってはならないのは tr です。
Jsfiddle フルバージョンコード: http://jsfiddle.net/XgH43/3/