为什么js获取的值 老是错的

ngyouxi123 2012-11-10 09:52:59
<ul>
<li><a onmouseOver="mouseOver()" x="1" id="divP" />a</a><li>
<li><a onmouseOver="mouseOver()" x="2" id="divP" />b</a><li>
</ul>


<script type="text/javascript">
function mouseOver(){
var d=document.getElementById("divP").getAttribute("x");
switch (parseInt(d))
{
case 1:
confirm("1");
break
case 2:
confirm("2");
break
default:
confirm("都不是");
}}
</script>


为什么娶到的结果都是1 移动到b那里的时候 还是显示1
是为什么??
...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
scscms太阳光 2012-11-10
  • 打赏
  • 举报
回复
更正:链接应该是<a></a> 不是<a /></a> html还可更简洁:
<ul>
    <li><a x="1">a</a></li>
    <li><a x="2">b</a></li>
    <li><a x="3">c</a></li>
    <li><a x="n">假如很多</a></li>
</ul>
<script type="text/javascript">
    var a=document.getElementsByTagName("a");
    for(var i=0;i< a.length;i++){
        a[i].onmousemove=function(){
            var d=this.getAttribute("x");
            if(!isNaN(d)){
                confirm(d);
            }else{
                confirm("不是数字");
            }
        }
    }
</script>
scscms太阳光 2012-11-10
  • 打赏
  • 举报
回复
第一:ID不准重复, 第二:标签要对应有闭合。 你的功能可以简写一下:
<ul>
    <li><a onmousemove="mouseOver(this)" x="1" />a</a></li>
    <li><a onmousemove="mouseOver(this)" x="2" />b</a></li>
</ul>
<script type="text/javascript">
    function mouseOver(e){
        var d=e.getAttribute("x");
        switch (parseInt(d))
        {
            case 1:
                confirm("1");
                break;
            case 2:
                confirm("2");
                break;
            default:
                confirm("都不是");
        }}
</script>
ngyouxi123 2012-11-10
  • 打赏
  • 举报
回复
高手 有别的方法吗
一起混吧 2012-11-10
  • 打赏
  • 举报
回复
两个a标签的id一样的。只能取到第一个。

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧