JavaScript:修改当前dom(不用于显示)
我有一个内容简单的页面。我想捕获一个dom,在处理pdf工具之前修改它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
// 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,修改它(不用于显示)请访问,查看和。做一些研究,搜索相关话题等;如果您被卡住了,请发布您的尝试,并使用[]代码段编辑器记录输入和预期输出。