虽然我向getElementById推送了一个参数,但我想知道这个“is null”错误是从哪里来的?
TypeError: document.getElementById(...) is null
[Break On This Error]
document.getElementById(elmId).innerHTML = value;
Line 75
除此之外,我想知道为什么标题和时间不显示,除非我点击这些播放列表中的一个图片?
发布于 2012-12-15 04:16:24
所有这些结果都在null
中
document.getElementById('volume');
document.getElementById('bytesLoaded');
document.getElementById('startBytes');
document.getElementById('bytesTotal');
您需要在updateHTML中执行null检查,如下所示:
function updateHTML(elmId, value) {
var elem = document.getElementById(elmId);
if(typeof elem !== 'undefined' && elem !== null) {
elem.innerHTML = value;
}
}
发布于 2012-12-15 04:11:16
这意味着传递给getElementById()
的id
元素不存在。
发布于 2012-12-15 04:17:12
在你的代码中,你可以找到这个函数:
// Update a particular HTML element with a new value
function updateHTML(elmId, value) {
document.getElementById(elmId).innerHTML = value;
}
稍后,您将使用几个参数调用此函数:
updateHTML("videoCurrentTime", secondsToHms(ytplayer.getCurrentTime())+' /');
updateHTML("videoDuration", secondsToHms(ytplayer.getDuration()));
updateHTML("bytesTotal", ytplayer.getVideoBytesTotal());
updateHTML("startBytes", ytplayer.getVideoStartBytes());
updateHTML("bytesLoaded", ytplayer.getVideoBytesLoaded());
updateHTML("volume", ytplayer.getVolume());
第一个参数用于"getElementById",但ID为"bytesTotal“、"startBytes”、"bytesLoaded“和”getElementById“的元素不存在。您需要创建它们,因为它们将返回null。
https://stackoverflow.com/questions/13885533
复制相似问题