У меня есть страница HTML с таблицей, которая содержит скрытую строку:
<table>
<tr id="hiddenTr" style="display:none">
...
</tr>
</table>
Я должен сделать это видимым в стороне клиента с помощью jQuery. Я попробовал это
$('#hiddenTr').show();
и это
$('#hiddenTr').css('display', 'table-row');
Обе реализации не работают на меня. Furthemore второй не является crossbrowser.
UPD. Извините, парни. Это было моим отказом: Я ввел идентификатор элемента TR с опечаткой. Это - странный $ ('hiddenTr'), не возвратил пустой указатель...
Я всегда устанавливаю для свойства style.display значение "" (пустая строка), чтобы показать скрытую строку таблицы:
var row = document.getElementById('row_id');
row.style.display = ""; // shows the row
Чтобы снова скрыть ее:
row.style.display = "none"; // hides the row
в jQuery это будет:
$("#row_id").css("display", ""); // show the row
или
$("#row_id").css("display", "none"); // hides the row
IE, похоже, не нравится значение 'table-row' для отображения. И «блокировать» некорректно, и иногда кажется, что отображение в других браузерах портится.
Вы можете попробовать установить display:auto
, но, честно говоря, у меня не было ничего, кроме проблем с ручной установкой свойства display для строк/ячеек таблицы.
Что я обнаружил, обычно работает, так это создание класса CSS под названием "hidden", который имеет display:none
. Вместо show()ing я просто удаляю этот класс.
пробовали ?
$('#hiddenTr').css('display','block');
Также, вы должны вставить
с чем-то в нем, по крайней мере
, чтобы строка не сворачивалась клиентом вашего браузера. Разные клиенты ведут себя по-разному...
Первый должен работать. Вы оборачиваете его в $ (document) .ready (function () {}); ?
$(document).ready(function(){
$('#hiddenTr').show();
});