首页 > 解决方案 > 在新打开的窗口中访问元素

问题描述

我想用 JavaScript 打开一个 html 文件并将一些数据写入它的一些元素。我尝试了以下方法:

var info_window = window.open('info_print.html')
info_window.document.getElementById('new_info').innerHTML = data;

但是当我拥有#new_info元素时出现此错误:

cannot set property 'innerHTML' of null

我该怎么办?我检查了评论的问题,但这不是我的问题。

标签: javascriptjqueryhtml

解决方案


假设您info_print.html实际上包含您正在寻找的元素,那么您需要等待 Window 在访问它之前加载它。

这是使用onload事件的简单解决方案:

var info_window = window.open('info_print.html');

info_window.addEventListener('load', function() {
    info_window.document.getElementById('new_info').innerHTML = data;
});

推荐阅读