下面的代碼應該允許我編輯p元素的屬性。問題是它保持不變。我在最後添加了一個測試來改變它的內容,但它什麼都不做。文本字段編輯元素出現,並記錄新的屬性,但該元素不改變編輯元素屬性不起作用
<body><p id=test>test</p>
<script>
var obj=document.getElementById("test")
var display="";
for(var i in obj){
display+="<label for="+i+">"+i+"</label><input id="+i+" value='"+obj[i]+"' oninput='obj["+i+"]=this.value;
console.log(obj["+i+"])'></input>"
}
document.body.innerHTML+=display
obj.innerHTML="hello"
</script>
</body>
第一個顯而易見的問題:需要'
'中的引用並且應該以分號(;)結束每個javascript行 – Nick
首先要解決的問題是,您的字符串中包含一個'console.log()'函數調用它打破了語法。該代碼只是在此修復後工作 - [FIDDLE DEMO HERE](https://jsfiddle.net/hdy9jqv7/1/) –
只要沒有空格,除了少數例外情況外,不需要引號循環分號是可選的 – user7951676