我正在用JS编写程序,该程序从电影API接收一些信息(标题,描述,海报图像等),并显示最新电影发行列表。
在此列表中,我想打开一个新窗口,当用户单击海报图像时,该窗口显示特定电影的信息。
我已经想出了如何打开一个新窗口并显示想要的大多数数据,但是我无法显示海报。
for (var i = 0; i < moviesObject.results.length; i++) {
var li = document.createElement('li');
var moviePoster = document.createElement('img');
var divOverview = document.createElement('div');
var divReleaseDate = document.createElement('div');
moviePoster.setAttribute('src', 'https://image.tmdb.org/t/p/w370_and_h556_bestv2' + moviesObject.results[i].poster_path);
li.innerHTML = '<strong>Title: </strong>' + moviesObject.results[i].title;
divOverview.innerHTML = '<strong>Overview: </strong>' + moviesObject.results[i].overview;
divReleaseDate.innerHTML = '<strong>Release Date: </strong>' + moviesObject.results[i].release_date + '<br><br>';
moviesList.appendChild(li);
moviesList.appendChild(moviePoster);
moviesList.appendChild(divOverview);
moviesList.appendChild(divReleaseDate);
moviePoster.addEventListener("click", function () {
var newWindow = window.open();
newWindow.document.open();
newWindow.document.write(li.innerHTML+ "<br>");
---> newWindow.document.write(); <-- here is where I have to display the poster
newWindow.document.write(divOverview.innerHTML+ "<br>");
newWindow.document.write(divReleaseDate.innerHTML+ "<br>");
newWindow.document.close();
});
}
答案 0 :(得分:2)
它是因为moviePoster
没有innerHTML
将其设置为outerHTML
newWindow.document.write(moviePoster.outerHTML+ "<br>");