1

最初にdisplay:none属性を持つ要素にjavaScriptを適用しようとしています。例:

<input type="button" onclick="document.getElementById('container').style.display='block';">

<div style="display:none;" id="container">
<input type="text" name="somename" id="somename" onclick="applySomeJsToTextField();">
</div>

function applySomeJsToTextField() {
//js code here
}

この要素は、display:none要素としてロードされたDOMには表示されないため、これを変更するにはどうすればよいですか?

ありがとう

4

3 に答える 3

4

display要素のプロパティが何かに設定されているという事実は、要素がDOMにあることを意味します。

一部のJSを非表示の要素に適用できますが、それらはDOMにロードされた要素のままです。

于 2012-06-05T10:42:51.263 に答える
2

見えるかどうかは関係ありません。どちらの場合でもアクセス可能です

于 2012-06-05T10:46:02.850 に答える
0

可視性を切り替える小さな関数は次のようになります。

functionToggleDiv()
{
    var container = document.getElementById('container');
    container.style.display = (container.style.display === 'none' ? 'block' : 'none');
}

ただし、このコードが機能しない場合は、DOMが完全に読み込まれていないか、操作している要素の後にJSを挿入するか、他のメソッド(window.onloadなど)を調べてこれを回避してください。

考えてみてください。ただし、すべてのスタイル属性に含まれているのdisplay:none;がbutである場合は、次のことを試してみてくださいdocument.getElementById('container').removeAttribute('style');。それは私がアドバイスする方法ではありませんが、どちらもあなたがコメントで行っていると言った新しい要素を作成していません。

于 2012-06-05T10:59:39.453 に答える