for遍历添加点击事件,但是每个按钮只能添加最后一个地址_html/css_WEB-ITnose

WBOY
发布: 2016-06-21 08:46:41
原创
1314 人浏览过

for遍历添加给每一个a标签添加点击事件,给每一个a标签添加地址,但是遍历后每一个按钮只添加最后一个地址

<div id="navbar" class="navbar-collapse collapse">                    <ul class="nav navbar-nav">                        <li><a href="javascript:;">登录</a></li>                        <li><a href="javascript:;">注册</a></li>                        <li><a href="javascript:;">写点评</a></li>                        <li><a href="javascript:;">服务中心</a></li>                    </ul>                        <ul class="nav navbar-nav navbar-right">                            <li class="dropdown">                                <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">广州<span class="caret"></span></a>                                <ul class="dropdown-menu">                                    <li><a href="javascript:;"><center>城市(国内)</center></a></li>                                    <li><a href="javascript:;"><center>省份(国内)</center></a></li>                                    <li><a href="javascript:;"><center>港台</center></a></li>                                    <li role="separator" class="divider"></li>                                    <li><a href="javascript:;"><center>城市(国外)</center></a></li>                                    <li><a href="javascript:;"><center>省份(国外)</center></a></li>                                    <li><a href="javascript:;"><center>更多...</center></a></li>                                </ul>                            </li>                      </div>
登录后复制


   var redirect = function(){    var menusHrefs=[        '/login/loginIndex',        '/register/registerIndex',        '/register/registerIndex',        '/register/registerIndex',        '/location/getCityInChina'    ];    //获取导航栏全部a标签    var lab = $('#navbar ul').children().filter('li').children().filter('a').not($('#navbar ul').children().filter('li').children().filter('.dropdown-toggle'));    for(var x=0 ; x<menusHrefs.length ; x++){        for(var x in menusHrefs){        $(lab[x]).on('click',function(){                window.location.href = menusHrefs[x];        })    }}();
登录后复制


回复讨论(解决方案)

事件执行时,for循环早就结束了,这个时候x已经是最大值加1了。

   var redirect = function(){    var menusHrefs=[        '/login/loginIndex',        '/register/registerIndex',        '/register/registerIndex',        '/register/registerIndex',        '/location/getCityInChina'    ];    //获取导航栏全部a标签    var lab = $('#navbar ul').children().filter('li').children().filter('a').not($('#navbar ul').children().filter('li').children().filter('.dropdown-toggle'));    lab.on('click',function(event){        window.location.href = menusHrefs[lab.index(this)];        event.preventDefault();    })}();
登录后复制

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板