Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用innerHTML或firstChild.nodeValue方法更新另一个内部的div_Javascript_Html_Innerhtml - Fatal编程技术网

Javascript 无法使用innerHTML或firstChild.nodeValue方法更新另一个内部的div

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

我在更新另一个div中的div值时遇到问题

我曾尝试在HTML方法或firstChild.nodeValue中执行此操作,但没有得到更新

这是js函数

函数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