JavaScriptを使って定期的にノードを表示/非表示にしていますが、表示するときに特定のクラスのノードをinline-block
(block
ではなく)に設定する必要があります。 div
sはdata-dojo-attach-point
によって参照されているノードがDojoに特定のクラスを持っているかどうかをチェックする方法は?
show: function (div) {
if (typeof div === 'object' && typeof div.style === 'object') {
if (div.class == "inline-block-class") //this doesn't work
{
div.style.display = "inline-block";
} else {
div.style.display = "block";
}
}
}
- 私は完全にthis.someAttachPoint
のようなもので動作することができますが、ときに私:しかし、私はinline-block
クラス、残りのソートに問題があり、class
は、この文脈ではnullです私の機能ではdiv
のような他の変数にそれをラップすると、ノードのCSSセレクタだけが得られます。これはオブジェクトですが、FireBugでそのプロパティを取得することはできません。
私は別のパラメータ、このノードはinline-block
なければならないことを私に言ってフラグを追加することでこの問題を回避することができますが、それは汚いだとエラーの別の機会なので、私は、関数内でblock
/inline-block
区別を行うことを好むだろう。
最後の文について、私はhide(div)の設定をnoneに設定することはこれに相補的なので、私の場合は純粋なCSSアプローチが適用できないようです。表示を設定せずにdivを隠す:何も私はやり方がわからない、適切な表示スタイルを更新するのが簡単なのかどうか気にしない。 –
各状態について、クラスを定義します。 'display:none'、' display:inline-block'の '' inline-block-class''、 '' display:block''の '' block-class'のような ''不可視 ''のようなものです。そして今、Javascriptでクラスを操作するだけで、CSSは自動的に変更されます。 – Himanshu
あなたのコメントからのアプローチは理にかなっています - ディスプレイnone!importantで隠されたクラスを定義して追加して、ノードを非表示にしてそれを削除します。 –