我有一个像这样的 Bootstrap 表:
<table id="myTable">
<tr>
<th data-field="name" data-formatter="nameFormatter"></th>
<th data-field="number" data-formatter="numberFormatter"></th>
<th class="newClass"></th>
</tr>
</table>
的jQuery
$('#myTable').on('click-row.bs.table', function (e, row, $element) {
// $('.newClass').removeClass('newClass');
$('.newClass').addClass('shown') // <-- this doesn't seem to work
}
CSS
td.newClass {
background-image: url("../../Content/Images/open.png");
}
tr.shown td.newClass {
background-image: url("../../Content/Images/close.png");
}
我正在尝试addClass()
关于表的行点击事件,但它似乎不起作用。我错过了什么或做错了什么。
答案 0 :(得分:2)
您的CSS似乎与您的标记不匹配:
tr.shown td.newClass
{
background-image: url("../../Content/Images/close.png");
}
哪个正在查找表行的shown
类。但看起来您正在将shown
类添加到table-cell:
$('#myTable').on('click-row.bs.table', function (e, row, $element) {
//$('.newClass').removeClass('newClass');
$('.newClass').addClass('shown') // isn't $('.newClass') the cell and not the row?
}
<强>更新强>
要解决此问题,您可以更改CSS:
td.newClass.shown { ... }
或你的jQuery:
$element.addClass('shown');
答案 1 :(得分:1)
它会帮助你:
Utf-8
&#13;
$(document).ready(function(){
$("#myTable tr").on('click',function(){
$(this).find(".newClass").addClass("shown");
});
});
&#13;