●やりたいこと
要素.value にて、要素のvalue値に文字列を代入したい
●質問
以下コードにて、editli.value =String(listvalue[i]);が数値になってしまいます。
typeof にて確認したところ、listvalue[i]は文字列、String(listvalue[i])も文字列なのですが、editli.valueが数値になっているようです。
そもそも要素.valueでは数値しか代入出来ないのでしょうか?
また、文字列も代入出来る場合は、どの様に修正すれば良いのでしょうか?
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width" /> </head> <body> <div id="test"></div> <script> settinglist() function settinglist(){ let listvalue=["set1","set2","set3","set4","set5","set6","set7","set8","set9"]; let result = document.getElementById("test"); let editul = document.createElement("ul"); editul.classList.add("settinglist"); result.appendChild(editul); for(let i=0; i<listvalue.length; i++){ let editli = document.createElement("li"); editli.classList.add("settinglist"); editli.value = String(listvalue[i]); console.log("listvalue[i]",typeof listvalue[i]); console.log("editli",typeof editli.value); editul.appendChild(editli); editli.addEventListener('click',function(){ alert(listvalue[i]); },false); editli.innerText = editli.value + "\n"; } } </script> </body> </html>