Я скрываю и показываю строки таблицы, добавляя / удаляя имя класса с именем 'hide'.Преимущество этого подхода заключается в возможности скрывать / показывать любой элемент, не зная и не заботясь о его обычном стиле отображения.Со строками таблицы это, вероятно, не проблема, но с другими элементами вы можете однажды захотеть изменить, например, с block
на inline
.Если вы используете класс для сокрытия элементов, вам не нужно менять свой javascript.
В вашем CSS:
.hide {
display:none;
}
И в javascript,
function hasClass(ele, cls) {
if( ele != null && ele.className != null ) {
return ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
} else {
return false;
}
}
function addClass(ele, cls) {
if (! hasClass(ele, cls)) {
ele.className += " " + cls;
}
}
function removeClass(ele, cls) {
if (hasClass(ele, cls)) {
var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
ele.className = ele.className.replace(reg, '');
}
}
Это JS пришел от кого-то еще на SO, но, к сожалению, я забыл сохранить ссылку.
Таким образом, чтобы скрыть элемент addClass( document.getElementById('Asset'), 'hide' )
и removeClass
, чтобы показать его.
РЕДАКТИРОВАТЬ : я как-то пропустил ответ Энди.По сути, он делает то же самое, однако эти методы addClass и removeClass немного более надежны, чем изменение element.className «вручную».