var a = document.createElement('div');
a.id = "myDiv";
と
var a = document.createElement('div').id = "myDiv";
最初のものは機能し、2番目のものは機能しないという違いは何ですか?
var a = document.createElement('div');
a.id = "myDiv";
と
var a = document.createElement('div').id = "myDiv";
最初のものは機能し、2番目のものは機能しないという違いは何ですか?
要素の を設定しても、要素は返さid
れません。実際に返されるため、div 自体の代わりにvarが設定されます。"myDiv"
a
"myDiv"
createElement からの「戻り値」が ID の設定に使用されるため、2 番目の方法は機能しません。これは割り当てであり連鎖ではないため、新しい要素への参照を「a」に戻さないため、失敗します。
要素を作成しているので、2番目は機能しませんが、すぐに操作を実行します。代わりに、a
変数は文字列「myDiv」に設定されます。
foo = 'bar'
ステートメントが実際に値を返すため、これは'bar'
です。
a = document.createElement('div'); //this sets `a` to DOM Node
a = document.createElement('div').id = 'myDiv'; //this sets `a` to 'myDiv'
//it's the same as
document.createElement('div').id = 'myDiv';
a = 'myDiv';
ID と変数の両方を 1 行で設定したい場合は、a
括弧を使用できます。
(a = document.createElement('div')).id = 'myDiv';
これa = document.createElement('div')
は、新しく作成された DOM ノードを返すためです。
本当に短い方法が必要な場合は、次のように記述できます。
(window.a=document.createElement('div')).id="myDiv";
最初のステートメントでは、タイプ "div" の作成された要素を変数 "a" に入れ、"a" の要素プロパティ "id" を "myDiv" に設定します。次に、「a」が要素になりました。
2 番目のステートメントでは、次のことを行います。
次に、「a」は要素ではなく「myDiv」になりました。