如果我在外部使用Javascript,它将不起作用

如果我在外部使用Javascript,它将不起作用,javascript,html,Javascript,Html,以下是我的HTML代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" con

以下是我的HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Tutorial</title>
</head>
<body>
    <div class="alert" id="alert">
        <p>Alert Alert Alert Alert Alert</p>
        <button onclick="close()"><p>&times;</p></button>
    </div>
<script src="script.js" charset="UTF-8"></script>
</body>
</html>

由于某些原因,我不能在外部使用它,但当我内联使用它时,它就工作了。我已经找了几个小时的答案,但我在任何地方都找不到,请帮忙

将函数的名称从“close”更改为另一个名称,如“hideAlert”

函数hideAlert(){
document.getElementById(“警报”).style.display=“无”;
}

警报警报警报

&时代


不要调用您的函数
close()
,它与
窗口冲突。close()
@Barmar它是否解释了问题代码不起作用的原因?可能。当您尝试在
onclick
中调用
close()
时,它调用的是
窗口。close()
,而不是您的函数。请记住,顶级变量是
窗口
对象的一部分。非常感谢,您是一位英雄。我不敢相信我竟然做了那样愚蠢的事,我很尴尬
function close() {
    document.getElementById("alert").style.display = "none";
}