JavaScript:修改当前dom(不用于显示)

JavaScript:修改当前dom(不用于显示),javascript,Javascript,我有一个内容简单的页面。我想捕获一个dom,在处理pdf工具之前修改它 // keep the id main content let element = document.getElementById('page-content'); // keep element concern button menu for the current dom ( line 1 ) let div = element.getElementById('menu-zone-button-to-prin

我有一个内容简单的页面。我想捕获一个dom,在处理pdf工具之前修改它

 // keep the id main content 
 let element = document.getElementById('page-content'); 
 // keep element concern button menu for the current dom ( line 1 )
 let div = element.getElementById('menu-zone-button-to-print'); // error
 // add text in the div
 let text = div.createTextNode("This just got added");
 // add div in the current node ( 'div' )
 div.appendChild(text);
错误“TypeError:无法读取第2行的属性'getElementById'为null”。我有身份证,是正确的。
感谢您的帮助

您的代码有两个地方不正确

第一: Id属性应该是唯一的,因此您不需要在
页面内容
中搜索
菜单区域按钮来打印
,因为它已经是唯一的并且存在一个,您可以像这样直接搜索它

let div = document.getElementById('menu-zone-button-to-print');
let text = document.createTextNode("This just got added");
div.appendChild(text);
如果仍要这样做,可以使用querySelector,如下例所示

第二: 存储的元素中没有createTextNode,只有在im没有弄错的情况下文档才会有 如果要创建元素,则必须像下面这样使用document.createTextNode

let div = document.getElementById('menu-zone-button-to-print');
let text = document.createTextNode("This just got added");
div.appendChild(text);
然后像这样将创建的文本附加到div

let div = document.getElementById('menu-zone-button-to-print');
let text = document.createTextNode("This just got added");
div.appendChild(text);
下面是您的代码的工作示例

var-element=document.getElementById('page-content');
让div=element.querySelector(“#要打印的菜单区域按钮”);
让text=document.createTextNode(“刚刚添加了这个”);
子目录(文本)

你好


这样我们帮不了你。我们不清楚。我认为你的帖子违反了社区的指导原则,但在脚本运行时,你的页面内容可能还没有加载。我更新了我的帖子。我的页面已加载。我显示一个页面并激活一个操作以保留dom,修改它(不用于显示)请访问,查看和。做一些研究,搜索相关话题等;如果您被卡住了,请发布您的尝试,并使用[]代码段编辑器记录输入和预期输出。