簡體   English   中英

編輯元素屬性不起作用

[英]Editing an elements attributes not working

以下代碼應該允許我編輯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>

此修改后的代碼應允許您修改<p>元素屬性:

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='document.getElementById(\"test\")[\"" + i + "\"]=this.value;console.log(document.getElementById(\"test\")[\"" + i + "\"])'></input>";
}
document.body.innerHTML += display;
obj.innerHTML = "hello";

我基本上修復了代碼中的引用。 而且由於某種原因,obj丟失了對實際html元素的引用,因此改用document.getElement...。

目前尚不清楚您要做什么,請指定所需的結果。

該代碼確實會影響DOM,但是我不確定這是否就是您想要的結果。

  <body><p id=test>test</p> <script> var obj=document.getElementById("test").innerHTML 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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM