Изменить цвет фона tr
У меня есть что-то вроде этого:
<tr id='<%=currentRow %>' onclick="SetBackgroundColor(this)" style="background-color:Yellow">
Когда я нажимаю на строку, я хочу изменить ее цвет фона, и мне это понравилось:
function SetBackgroundColor(rowId)
{
$(rowId).css("background-color", "#000000");
}
но я не знаю, почему это не работает. Любые предложения, пожалуйста?
Ответы
Ответ 1
У IE есть проблема с цветами фона для элемента TR. Более безопасным способом является установка фона для TD и TH внутри TR:
<table id="tabletest">
<tr>
<td>testcell</td>
</tr>
</table>
<script>
$('#tabletest tr').bind('click', function(e) {
$(e.currentTarget).children('td, th').css('background-color','#000');
})
</script>
Добавлено: вы можете назначить один обработчик событий для всей таблицы для повышения производительности:
$('#tabletest').bind('click', function(e) {
$(e.target).closest('tr').children('td,th').css('background-color','#000');
});
Ответ 2
В jQuery вам не нужно использовать атрибут onclick для назначения обработчика события. Допустим, вы добавляете класс под названием mytr для каждого tr, на который хотите повлиять. Затем вы можете сделать что-то вроде этого:
$(document).ready(function(){
$(".mytr").click(function(){
$(this).css("background-color", "#000000");
});
});
И это применит обработчик события ко всем строкам с классом mytr.
Ответ 3
Это будет reset каждая строка при нажатии новой...
$(document).ready(function(){
$('tr').click(function(){
$('tr td').css({ 'background-color' : 'green'});
$('td', this).css({ 'background-color' : 'red' });
});
});
demo: http://jsbin.com/aciqi/
Ответ 4
$('#RowID').children('td, th').css('background-color','yellow');
Ответ 5
Более простым решением является, вероятно, использование селектора для всех строк в таблице или addClass.
Пример
$("#myTable tr").click(function() {
$(this).css('background-color', '#f00');
});
или
$("#myTable tr").click(function() {
$(this).addClass('selected');
});
Ответ 6
Вместо изменения цвета фона строки таблицы попробуйте изменить цвет фона ячейки таблицы.
$(document).ready(function() {
$(".mytr td").click(function() {
$(this).css("background-color", "#000000");
});
});
Ответ 7
Спасибо всем.. проблема заключалась в том, что на главной странице я загружал j query-1.3.2.min.js
before
query-1.3.2-vsdoc.js
, и таким образом он не работал. снова спасибо