首頁  >  文章  >  web前端  >  for遍历添加点击事件,但是每个按钮只能添加最后一个地址_html/css_WEB-ITnose

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

WBOY
WBOY原創
2016-06-21 08:46:411307瀏覽

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();    })}();

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn