前提・実現したいこと
JavaScript
1let input = document.createElement(“input”); 2input.type = “radio”; 3input.name=“radio”; 4/*以下input.○○が続く*/
htmlへの要素追加について、
現在、上記のように値を代入しているのですが、どうしても見づらくなってしまうと感じている為、これを変数ごとに1つにまとめる手法はないかと思い質問させて頂きました。
発生している問題・エラーメッセージ
JavaScript
1input ={ 2 type : “radio”, 3 name : “radio”, 4/*続く*/ 5}
のように宣言してみたのですが、変数に代入はできるものの__proto__とprototypeの違いにより、appendChild(input)の部分でエラーが出てしまいます。
JavaScript
1let list = document.getElementById("listA"); 2list.appendChild(input); 3/*エラーメッセージ*/ 4/*VM11904:2 Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'. 5 at <anonymous>:2:10 6(anonymous) @ VM11904:2*/ 7
該当のソースコード
javascript
1let input = document.createElement(“input”); 2/*現在のソースコード*/ 3/*1つ1つ記入していくと見づらくなる*/ 4input.type = “radio”; 5input.name=“radio”; 6input.className="radioA"; 7/**/ 8/*理想形*/ 9/*下記のように1つにまとめたい*/ 10input={ 11 type :"radio", 12 name :"radio", 13 className :"lradioA" 14} 15/**/ 16let list = document.getElementById("listA"); 17list.appendChild(input); 18
試したこと
prototypeと__proto__の違いが原因でエラーが出ているところまでは分かったのですが、__proto__に値を代入する方法が調べてもわからなかったです。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
・参考資料
JavaScript 要素を追加/削除する(createElement他)/ITSakura Blog for business and development
https://itsakura.com/js-createelement
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/10 14:40