访问新打开的窗口中的元素



我想用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

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

假设您的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;
});

我创建了一个小提琴,它在那里工作得很好。请检查您的html文件是否包含newinfo元素,或者控制台中是否有任何错误。

下面是我的小提琴密码。

var w = window.open('', "", "width=600, height=400, scrollbars=yes");
//assuming html as your info_print.html file which contains new_info element
var html = '<div id="new_info"></div>';
w.document.body.innerHTML = html;
w.document.getElementById("new_info").innerHTML="test content";

最新更新