关于ul li的一点点小结

1、获取ul标签下li的内容
<head>
    <title>无标题页</title>
</head>
<body>
    <ul>
        <li>test1</li>
        <li>test2</li>
        <li>test3</li>
        <li>test4</li>
        <li>test5</li>
        <li>test6</li>
    </ul>
    <script type="text/javascript">
        var ul = document.getElementsByTagName("ul")[0];
        var li = ul.getElementsByTagName("li");
        for(var i=0;i<li.length;i++){
            li[i].οnclick=function(){
                alert(this.innerHTML)   //显示test1 。。。。
            }
        }
    </script>
</body>
</html>
2、获取ul 下 li的value值
<html>
<script src="jquery-1.9.1.js"></script>
<script>
 function swit(){
   var ul = document.getElementsByTagName("ul")[0];
        var li = ul.getElementsByTagName("li");
        for(var i=0;i<li.length;i++){
            li[i].οnclick=function(){
                alert(this.getAttribute("value"));    //显示"你好" ...
            }
        }
    }
</script>
<ul> 
<li value="你好" οnmοuseοver="swit()" id="ddd">cz</li> 
<li value="hello" οnclick="swit()">xa</li> 
<li value="=-=" οnclick="swit()">scsc</li> 
</ul> 
</html>
 
 

遇到的问题:

1、刚开始在js取值问题,点击li,但第一次点不行,第二次就输出了li里面的value值

刚开始自己的代码是这样的:

 <li id="tag1" value="2"οnclick="switchTag();this.blur();">

原因:第一次点不行是因为你的<li>的onclick函数是在你进行了一次<ul>的onclick事件后才生成的,所以第一次点击并没有执行<li>的onclick函数(仅仅生成<li>的onclick函数)。

解决:可以把<ul id="type_ul" οnclick="choose()">改成<ul id="type_ul" οnmοuseοver="choose()">,这样你的鼠标放在<ul>上马上就生成了<li>的onclick函数,这样就可以了然后将这句话改成以下: <li id="tag1" value="1"οnmοuseοver="switchTag();this.blur();">这样在第一次点击时就能取到ui中li的value值。

2、并且一下这段是刚开始写的为了取得value值的代码:

function switchTag(){
      $("#tag1").bind("click",function(){
          var id = $(this).val();
              alert(id);
         }); 
      }

这段代码在运行时总是会显示好几次ulli下的value值,并且有时随着点击次数的增加弹出的value值会不断增加,这个问题到目前为止还不知道其真正的原因,有待进一步解决。

还有一个问题是当这样写代码时

function swit(){
        var ul =document.getElementsByTagName("ul")[0];
        var li =ul.getElementsByTagName("li");
        for(var i=0;i<li.length;i++){
            li[i].οnclick=function(){
                alert($(this).val);  //输出的总是0
            }
        }
}

这个问题也还没解决,待续。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值