Javascript 无法使用innerHTML或firstChild.nodeValue方法更新另一个内部的div
我在更新另一个div中的div值时遇到问题 我曾尝试在HTML方法或firstChild.nodeValue中执行此操作,但没有得到更新 这是js函数Javascript 无法使用innerHTML或firstChild.nodeValue方法更新另一个内部的div,javascript,html,innerhtml,Javascript,Html,Innerhtml,我在更新另一个div中的div值时遇到问题 我曾尝试在HTML方法或firstChild.nodeValue中执行此操作,但没有得到更新 这是js函数 函数createDivEditCard(){ if(document.querySelector(“#editCard”).innerHTML.trim(){ 设div=document.createElement('div'); div.innerHTML=document.getElementById('editForm').innerHT
函数createDivEditCard(){
if(document.querySelector(“#editCard”).innerHTML.trim(){
设div=document.createElement('div');
div.innerHTML=document.getElementById('editForm').innerHTML;
document.getElementById('editCard').appendChild(div);
}
document.getElementById(“editName”).firstChild.nodeValue=“test”;
}
createDivEditCard()代码>
编辑卡
姓名:
声明:
-
自由的
买了
使用中
出售
拯救
删除
您的代码使用id
s复制元素,因此文档现在有两个id为editName的元素,这是不允许的。最后一行可以工作,它只找到匹配的第一个元素(隐藏),并将其更改为test
。在HTML元素上指定时,id属性值必须在元素树中的所有id中唯一,并且必须至少包含一个字符。谢谢@pilchard解决了我的问题。我将id='editCard'的div放在id='editForm'的div之上,这解决了我的问题。我认为位置无关紧要。谢谢,嗯,是的,这将使它发挥作用,但您仍然不应该在文档中有两个具有相同id的元素。如果隐藏的editForm仅用作模板,那么最好将其移动到js脚本中。否则,将id替换为类,并使用querySelector而不是getElementById