私は JavaScript と DOM を使い始めており、少なくともしばらくの間、意図的に jQuery などから離れようとしています。それを念頭に置いて、チュートリアルでは通常、次のような例が提供されます。
h = document.createElement("h1");
t = document.createTextNode("Hello.");
h.appendChild(t);
document.body.appendChild(h);
これを合理化して変数を回避するために、次のチェーンを成功させました。
document.body.appendChild(document.createElement("h1")).appendChild(document.createTextNode("Hello."));
これは機能しますが、次のプリペンド操作を短縮しようとしました:
h = document.createElement("h1");
t = document.createTextNode("Put this on top.");
h.appendChild(t);
document.body.insertBefore(h,document.body.firstChild);
次のように:
document.body.insertBefore(document.createElement("h1")).appendChild(document.createTextNode("Put this on top."),document.body.firstChild);
しかし、今回は期待どおりに機能しませんでした。テキストは BODY 要素の最後に配置され、先頭ではなく末尾に追加されます。
成功した最初のケースはまぐれにすぎないと思いますが、この連鎖の実践の何が問題なのかわかりません。