Согласно этому сообщению на форуме :
Блокировка ячеек таблицы может работать в некоторых браузерах, но не может надежно работать в среде x-браузера.Блокированный элемент должен быть элементом, который может иметь относительную позицию, а это не относится к TR и TD.Кроме того, наложение «блок» (div) добавляется к заблокированному элементу, и добавление div в таблицу недопустимо.Если вам нужно заблокировать таблицу, поместите ее в div и заблокируйте этот div.Если вам нужно заблокировать ячейку таблицы, поместите содержимое ячейки в div и вместо этого заблокируйте этот div.Если вам нужно заблокировать строку, заблокировать div каждого контента TD.
По сути, вы можете встроить контент td
в другой div
, который можно заблокировать, а затем вызвать block()
на всех этих div
с вместо:
HTML:
<table>
<tr>
<td><div class="row">Row 1 Col 1</div></td>
<td><div class="row">Row 1 Col 2</div></td>
</tr>
<tr><td>Row 2 Col 1</td><td>Row 2 Col 2</td></tr>
<tr><td>Row 3 Col 1</td><td>Row 3 Col 2</td></tr>
</table>
JavaScript:
$("tr:eq(0) td > div.row").block({
message: null
});
Я применил класс row
к каждому содержимому td
, чтобы вместо этого я мог вызвать block()
для этих элементов.Селектор выбирает первые tr
с td
с div
с классом "строка".
Вот рабочий пример: http://jsfiddle.net/yWwR5/ (Большой объем кода впереди простоплагин BlockUI).
Вы можете следовать этой стратегии (как описано в сообщении на форуме) для любого элемента, который является частью таблицы.
Изменить: Если вы можетеНе редактируйте HTML по некоторым причинам, вы можете обернуть содержимое каждого td
в div
с помощью JavaScript:
$("tr td").contents().wrap("<div class='row' />");