В javascript/jquery не разбираюсь, возникла задача при наведении на ячейку таблицы подсвечивать все соседние ячейки в этой СТРОКЕ. Таблица сверстана div'ами на bootstrap, соответственно у каждой ячейки есть классы. Вот мой гуглокод, все работает как надо, но мне кажется есть более лаконичное решение моей задачи, подскажите пожалуйста так ли это? Приветствуются все ответы и направления "в какую сторону копать".
Реализовано именно через addClass/removeClass, т.к в случае использования toggleClass, я обнаружил баг, если при загрузке страницы мышка наведена на какую-либо из ячеек, описанных в скрипте, то срабатывал toggleClass, и скрипт работал не правильно, т.е при hover табличка была белой, убираем hover появляется класс gray. А мне нужно наоборот, потому написал так.
<script type="text/javascript">
$(document).ready(function(){
$( "#tabl1 .type" ).hover(
function() {
$( "#tabl1 .type" ).addClass( "gray" );
}, function() {
$( "#tabl1 .type" ).removeClass( "gray" );
}
);
$( "#tabl1 .price" ).hover(
function() {
$( "#tabl1 .price" ).addClass( "gray" );
}, function() {
$( "#tabl1 .price" ).removeClass( "gray" );
}
);
$( "#tabl1 .params" ).hover(
function() {
$( "#tabl1 .params" ).addClass( "gray" );
}, function() {
$( "#tabl1 .params" ).removeClass( "gray" );
}
);
$( "#tabl2 .type" ).hover(
function() {
$( "#tabl2 .type" ).addClass( "gray" );
}, function() {
$( "#tabl2 .type" ).removeClass( "gray" );
}
);
$( "#tabl2 .price" ).hover(
function() {
$( "#tabl2 .price" ).addClass( "gray" );
}, function() {
$( "#tabl2 .price" ).removeClass( "gray" );
}
);
$( "#tabl2 .params" ).hover(
function() {
$( "#tabl2 .params" ).addClass( "gray" );
}, function() {
$( "#tabl2 .params" ).removeClass( "gray" );
}
);
$( "#tabl2 .params2" ).hover(
function() {
$( "#tabl2 .params2" ).addClass( "gray" );
}, function() {
$( "#tabl2 .params2" ).removeClass( "gray" );
}
);
$( "#tabl3 .type" ).hover(
function() {
$( "#tabl3 .type" ).addClass( "gray" );
}, function() {
$( "#tabl3 .type" ).removeClass( "gray" );
}
);
$( "#tabl3 .price" ).hover(
function() {
$( "#tabl3 .price" ).addClass( "gray" );
}, function() {
$( "#tabl3 .price" ).removeClass( "gray" );
}
);
$( "#tabl3 .params" ).hover(
function() {
$( "#tabl3 .params" ).addClass( "gray" );
}, function() {
$( "#tabl3 .params" ).removeClass( "gray" );
}
);
});
</script>
Всем спасибо за отзывы,
Александр Миранович упростил мой код, большое спасибо ему.
Его реализация кода
jsfiddle.net/f48ZD/493