私は伝統的にJavaScriptを「UI接着剤」として使用してきましたが、残念ながらJSを「おもちゃ」と見なしていました。しかし、私はコースを変更し、特にJSON/jQueryと組み合わせて使用する際に、本当のパワーを見出しています。DOMに挿入した後の要素への参照を維持する
私の質問には、要素を動的に作成し、それをDOMに追加することが含まれます。これが起こると、オブジェクトのコピーだけがDOMに追加され、そのオブジェクトへの参照が失われるようです。例えば、createElement( "a")を使ってグローバルオブジェクトを作成し、いくつかの属性( "href"、 "title"など)を設定してDOMに追加すると、グローバルオブジェクトへの元の参照追加された要素には影響しません。私はちょうど私が挿入したオブジェクトを見つけることができたと確信していますが、これははるべき作業よりも多くの作業のようです。何か不足していますか?
問題が見つかりました。私は、不思議なことに "setAttribute"を使ってオブジェクトの属性を設定しようとしていました。それはIEは非常に多くのもののためにそれを好きではないようだ。例えば、el.style.color = 'green'は動作し、el.setAttribute( "style"、 "color:green;")は失敗します。 – BradBrening
はい、8より前のバージョンのIEではサポートされていないHTML属性がいくつかあります(特にクラスとスタイル)。しかし、それはほとんど問題ではないはずです。スタイル属性はelem.styleプロパティで設定する必要があり、クラスはelem.classNameプロパティで設定する必要があります。 –