質問: 以前、動的にセレクトボックスを作れないかという質問をさせて頂きましたが、 あれから少しDOMについて学習し、 ・createElementで要素を作り ・setAttributeで要素のプロパティを作り ・getElementByIdで既存idを取得し ・appendChildでcreateElementで作った要素を追加する ということを知りました。 例えばこんな感じで作れたりしますよね。 ``` ``` 自分がめんどくさがりだとは思うんですが、 下記のまでの内容を全部クローンするような機能はなにかないものでしょうか? ``` ``` 外部ファイルからクラス呼び出しているのでそれに合わせてイチからjs作るのはちょっと... ってなって質問してみました。 inputを動的に追加する為のjsは上記みたいな感じで簡単に作れますよ。 input単一ですから。 ただ、既にあるselectboxと同じものを動的に追加する為のjsを作るのは... optionが2、3個ならいいですが(いや、2、3個でもしんどい) optionが10個とか多数ある場合は どうやったらいいんでしょうか? 色んなサイトみてもわからないから、最終的にここで質問しています。 コードと解説しているリンク先を頂けるのはありがたいですが、 それで分からないからここで質問してます。 分かりやすく解説頂けるとありがたいです。 ちなみに はこうなってます。 も配列の中身が違うだけで同じ作りです。 ``` ".$options[$i].""; } } } ?> ``` こんな感じで作っていくしかないのでしょうか? ``` ``` ただこの場合、function getSkill()の配列が増減したら それに合わせてjsの方の増減も手動で行わなくてはいけません... なにか良法はないでしょうか...
回答: ### Node.prototype.cloneNode `cloneNode` を使用してください。 * Node.cloneNode - Web API インターフェイス | MDN ``` var trClone = tr.cloneNode(true); ``` Re: rento さん