私は一意の名前を持つフォームに複数の入力フィールドを持っています。たとえば、色を変更するために私がするだろう。そうする場合、その変数elem
とusername
を置き換える:dom要素として変数を使用することはできますか?
testForm.username.style.background = "yellow";
username
は
が、私はこれをしたいフォーム名が入力されの名前とtestform
ています私は背景色を変更する関数を呼び出します。私はすべての固有のフィールドに対して別々の関数を持つ必要はありません。私はちょうどelem
の名前を送信し、その機能はすべてのフィールドで機能するだろう。
testForm.elem.style.background = "yellow";
私の問題は動作しません。たとえば、elem
を関数fineに渡しましたが、testForm.elem.style
はnull
となります。何らかの理由で、javascriptは私が推測している要素名の変数を好きではありませんか?
良い考えではありません。 'elements'コレクションからそれにアクセスすることはより信頼性が高く、標準に準拠します:' testForm.elements [elem] .style.backgroundColor = 'yellow'' – kangax
RaYellは助けてくれてありがとうに。私はtestForm [elem]スタイルがtestForm.elem.styleと同じであったという印象を受けました。 要素コレクションを使用する利点は何ですか?標準に準拠している以外の方法は私にどのように役立ちますか? – payling
私は要素を修正しようとする前に、要素(と 'style'プロパティ)の存在をテストします。' var el = testForm。要素[elem]; if(el && el.style)el.style.backgroundColor = 'yellow'; ' – kangax