javascript - 为什么我的元素为空?

标签 javascript null getelementbyid

为什么当我对值(见下文)进行警报时,它返回null?当具有该 ID 的元素存在时?

// make reference to divs
var countdown_timer = document.getElementById("countdown_timer");
var countdown_image = document.getElementById("countdown_image");

// For element manipulation

if (type == 'image') {
    var element = countdown_image;
} else if (type == 'timer') {
    var element = countdown_timer;
}

alert(countdown_timer);

div如下..

<div class="timer" id="countdown_timer"></div>

最佳答案

有可能在页面上的元素未加载之前就执行了 JavaScript,因此选择器找不到任何内容。你的javascript是在<body>之上吗?标签?尝试将其放在 </body> 之后看看它对您有何作用。

另一个解决方案是:

window.onload = function () {
//put all your JS here
}

关于javascript - 为什么我的元素为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4179556/

相关文章:

javascript - 是否可以在 getRange() 中使用单元格引用作为行/列位置?

c++ - 如何用 NULL 初始化成对 vector (c++)

javascript - 如何在鼠标悬停时突出显示不同div中的文本和图像

javascript - 为什么在使用 document.getElementByID 更新图像之前显示我的 JavaScript 警报消息?

javascript - 当一个 promise 被拒绝时,使用 promise.all 对事务进行 Sequelize 无法回滚

javascript - mdToast 的 Angular Material 突出显示类不起作用

javascript - Phantom.js 坚持选择下一个元素

swift - AVCaptureDeviceInput 在展开可选值时意外发现 nil

c# - 当方法尝试使用可以为空的字段时抛出哪个异常?

javascript - 更新 JavaScript