Der folgende Code soll mir erlauben, die Attribute des Elements p zu bearbeiten. Das Problem ist, dass es gleich bleibt. Ich habe einen Test hinzugefügt, um den Inhalt am Ende zu ändern, tut aber auch nichts. Die Textfelder, das Element zu bearbeiten erscheint und protokolliert die neuen Attribute aber das Element nicht ändertBearbeitung eines Elements Attribute funktioniert nicht
<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>
Erste offensichtliche Probleme: brauche Zitate in '
' und sollte jede JavaScript-Zeile mit einem Semikolon (;) – Nick
beenden Zunächst zu beheben ist die Tatsache, dass Sie eine 'console.log()' Funktionsaufruf in Ihrer Zeichenfolge enthalten und es bricht die Syntax. Der Code funktioniert nach nur diesem Fix - [FIDDLE DEMO HIER] (https://jsfiddle.net/hdy9jqv7/1/) –
Die Zitate sind nicht erforderlich, solange es keine Leerzeichen und abgesehen von ein paar seltenen Ausnahmen wie für Schleifen-Semikolons sind optional – user7951676