Javascript JS函数在.JS文件中不起作用,但在.html文件中写入时起作用

Javascript JS函数在.JS文件中不起作用,但在.html文件中写入时起作用,javascript,html,Javascript,Html,工作 .html <body> <a href="#" id="abc"> </a> </body> <script> document.getElementById("abc").innerHTML = "abc"; </script> .html <script defer src=&quo

工作

.html
<body>
    <a href="#" id="abc">
        
    </a>
</body>

<script>
    document.getElementById("abc").innerHTML = "abc";
</script>
.html
<script defer src="function.js"></script>
<body>
    <a href="#" id="abc" onload="abc()">
        
    </a>
</body>

.js
function abc() {
  document.getElementById("abc").innerHTML = "abc";
}
.html
document.getElementById(“abc”).innerHTML=“abc”;
不工作

.html
<body>
    <a href="#" id="abc">
        
    </a>
</body>

<script>
    document.getElementById("abc").innerHTML = "abc";
</script>
.html
<script defer src="function.js"></script>
<body>
    <a href="#" id="abc" onload="abc()">
        
    </a>
</body>

.js
function abc() {
  document.getElementById("abc").innerHTML = "abc";
}
.html
.js
函数abc(){
document.getElementById(“abc”).innerHTML=“abc”;
}

代码有什么问题?我想不出来,希望有人能回答我的问题

你需要把多余的东西移到身体上

如果js文件路径没有问题,它将正常工作

<body onload="abc()">
    <a href="#" id="abc"></a>
</body>

你到底想在这里做什么?在片段标识符锚上使用
onload
,没有任何意义。