当前位置:编程学习 > C#/ASP.NET >>

一段很简单的js代码,不知道哪出错了,无法执行很郁闷

一段很简单的js代码,不知道哪出错了,无法执行。当点击aaaaaa时显示aaaDiv的内容,点击bbbb时显示bbbDiv的内容。现在执行不了,请问错在哪,好郁闷。。

<div >
<div class="aaa" id="aaaid"><a href="#" onclick="ShowItem('a')">aaaaaaa</a></div>
<div class="bbb" id="bbbid"><a href="#" onclick="ShowItem('b')">bbbbbbb</a></div>
  </div>
<div   id="aaaDiv">
aaaaaa </div>
<div   id="bbbDiv" style="display:none;">
bbbbbbb </div>


function ShowItem(item)
{
if (item == "aaa")
{
    document.getElementById("aaaid").className = "aaa";
document.getElementById("bbbid").className = "bbb";
document.getElementById("aaaDiv").style.display = "";
document.getElementById("bbbDiv").style.display = "none";
}
if (item == "bbb")
{
document.getElementById("aaaid").className = "bbb";
document.getElementById("bbbid").className = "aaa";

document.getElementById("bbbDiv").style.display = "";
document.getElementById("aaaDiv").style.display = "none";
}

}
--------------------编程问答-------------------- <div > 
<div class="aaa" id="aaaid"> <a href="#" onclick="ShowItem('aaa')">aaaaaaa </a> </div> 
<div class="bbb" id="bbbid"> <a href="#" onclick="ShowItem('bbb')">bbbbbbb </a> </div> 
</div> 
<div  id="aaaDiv"> 
aaaaaa </div> 
<div  id="bbbDiv" style="display:none;"> 
bbbbbbb </div> 

<script language="javascript">
function ShowItem(item) 

if (item == "aaa") 

  document.getElementById("aaaid").className = "aaa"; 
document.getElementById("bbbid").className = "bbb"; 
document.getElementById("aaaDiv").style.display = ""; 
document.getElementById("bbbDiv").style.display = "none"; 

if (item == "bbb") 

document.getElementById("aaaid").className = "bbb"; 
document.getElementById("bbbid").className = "aaa"; 

document.getElementById("bbbDiv").style.display = ""; 
document.getElementById("aaaDiv").style.display = "none"; 



</script>
你传的参数不对,当然不能执行了 --------------------编程问答-------------------- 不是。那里是我刚才写错了,参数正确的。有其它原因吗。谢谢 --------------------编程问答-------------------- IE提示“缺少对象”?明明有的。 --------------------编程问答-------------------- 晕了。。错在这。if (item == "aaa") 应为if (item == 'aaa')  --------------------编程问答-------------------- "aaa"和'aaa'没有区别,都是字符串。

按理这个代码一般情况下不会出错,但是是一般情况下。

1,document.getElementById("aaaid")不一定就返回了对应的对象(原因很多,例如前文出现错误的textarea,或者有另外一个同样的id的其他元件等);
最好是检查一下,像这样:
var obj=document.getElementById("aaaid");
if(obj){
    obj.style.cssText="display:none;";
}

2,function ShowItem的定义最好应该在调用的代码前载入,也就是在onclick事件的前文载入。
网速比较慢页面没有打开完整的时候,使用onclick事件时可能会调用一个不存在的js函数(因为还没来得及载入)。 --------------------编程问答-------------------- 但是按照我那个代码在我这里是可以执行并且结果是正确的啊 --------------------编程问答-------------------- 楼主
<div > 
<div class="aaa" id="aaaid"> <a href="#" onclick="ShowItem('a')">aaaaaaa </a> </div> 
<div class="bbb" id="bbbid"> <a href="#" onclick="ShowItem('b')">bbbbbbb </a> </div> 
</div>
看红色的部分,你把a和b传参数传进去了,但是后面的代码没有用到a和b啊?
看1楼的写的多明白!
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,