这个js代码为什么不能正常运行?哪里错了??
<html><head><style></style><scripttype="text/javascript">varclkNode=document.getEleme...
<html>
<head>
<style>
</style>
<script type = "text/javascript">
var clkNode = document.getElementById("clkBtn");
var showNode = document.getElementById("showTxt");
clkNode.onclick = function() {
this.style.display = "none";
showNode.style.display = "block";
};
</script>
</head>
<body>
<a href="javascript:;" id="clkBtn">请点击</a>
<span id="showTxt" style="display:none">您已经点击过</span>
</body>
</html> 展开
<head>
<style>
</style>
<script type = "text/javascript">
var clkNode = document.getElementById("clkBtn");
var showNode = document.getElementById("showTxt");
clkNode.onclick = function() {
this.style.display = "none";
showNode.style.display = "block";
};
</script>
</head>
<body>
<a href="javascript:;" id="clkBtn">请点击</a>
<span id="showTxt" style="display:none">您已经点击过</span>
</body>
</html> 展开
展开全部
顺序不对,因为html在加载的时候,是从上到下顺序执行,也就是加载到那里就运行那里的代码
这样,加载到你的script标签的时候,就会执行你script标签里面的javascript代码了
而那时候下面的body和div都没有被加载和执行编译,也就是还找不到这些元素,你可以把代码放到这些元素的下面就可以保证在执行你的javascript代码的时候,div等元素都是已经准备好了的
具体还可以这样做
1
window.onload = function(){
//在这里写的javascript代码是可以安全执行的,它的执行时间是
//当页面完全被加载完成后才会执行
}
2
就是把script标签都统一放到页面的最底部也就是</body>这个标签之前。
展开全部
你不要在HTML代码定义之前用JS调用,交换顺序就对了,下面的代码测试通过:
<html>
<head>
<style>
</style>
</head>
<body>
<a href="javascript:;" id="clkBtn">请点击</a>
<span id="showTxt" style="display:none">您已经点击过</span>
<script type = "text/javascript">
var clkNode = document.getElementById("clkBtn");
var showNode = document.getElementById("showTxt");
clkNode.onclick = function() {
this.style.display = "none";
showNode.style.display = "block";
};
</script>
</body>
</html>
追问
谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询