私はクラスを削除/追加することによって、非表示と表示のテーブル行名前は 'hide'と呼ばれます。このアプローチには、通常の表示スタイルが何であるかを知らないで気にせずに要素を表示/非表示できるという利点があります。テーブルの行は、おそらく問題ではありませんが、他の要素では、たとえばblock
からinline
に変更することがあります。要素を隠すためにクラスを使用する場合は、JavaScriptを変更する必要はありません。 JSがSOに他の誰かから来たが、残念ながら私は、リンクを保存し忘れたこと
.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, '');
}
}
:あなたのCSSで
。
したがって、要素addClass(document.getElementById('Asset'), 'hide')
とremoveClass
を非表示にすると表示されます。
EDIT:何とかアンディの答えを忘れました。しかし、基本的には同じことですが、これらのaddClass &のremoveClassメソッドは、element.classNameを「手動で」変更するよりももう少し堅牢です。
ありがとうございますAndy E - IEのサイトをアカウントに歓迎しました。 :-) –