Javascript getElementById在chrome上不起作用,但在Firefox上起作用。

问题描述 投票:0回答:2

早上好,我有这样的代码

document.getElementById("button").onclick = function () {
    document.getElementById("confirm").innerHTML = "Order Placed Cheack your email!";
    document.getElementById("button").style.display = "none";
}

上面的代码在Firefox上执行时有效,但当我在Chrome 81.0.4044.138 (Official Build)(64-bit)或Edge或IE浏览器上运行时,它没有给出任何响应。

<!DOCTYPE html>
    <html>

        <head>
            <meta charset="UTF-8">
            <title>Form</title>
            <script defer src="form.js/"></script>
        </head>

        <body>
            <p id="confirm">Confirm order?</p>
            <button id="button">Submit</button>
        </body>
    </html>
javascript html google-chrome dom
2个回答
1
投票

两件事情,请把 <script src="form.js"></script> 就在身体之前,而且,去除 defer 属性和 / 之后 form.js:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>Form</title>
    </head>

    <body>
        <p id="confirm">Confirm order?</p>
        <button id="button">Submit</button>
    </body>
    <script type="text/javascript" src="form.js"></script>
</html>

以上应该可以。


1
投票

你在DOM准备好之前加入了你的JavaScript,所以由于Chrome V8引擎中JS文件的快速加载,点击事件没有被正确连接。另外,你还缺少了 type="text/javascript".

<!DOCTYPE html>
    <html>

        <head>
            <meta charset="UTF-8">
            <title>Form</title>
        </head>

        <body>
            <p id="confirm">Confirm order?</p>
            <button id="button">Submit</button>
        </body>
        <script type="text/javascript" src="form.js"></script>
    </html>

0
投票

请确保在Chrome浏览器中没有禁用JavaScript。要验证这一点,您必须通过点击位于右上角的菜单图标来访问您的设置。选择标有 "显示高级设置 "的选项。点击 "内容设置 "并选择 "允许所有网站运行JavaScript"

© www.soinside.com 2019 - 2024. All rights reserved.