那些年朋友劝,该知道的ASP.NET - jQuery查找HTML中某个节点并赋单击事件,同时取出节点中的值?

来源:互联网 发布:万能快捷回复软件 编辑:程序博客网 时间:2024/05/16 12:53
//以下有个菜单,实现取出<a>节点中的值取赋click事件。<div id="menu">        <div class="has_childrenMain">            <span>第1章-认识jQuery</span> <a>1.1-JavaScript和JavaScript库</a> <a>1.2-加入jQuery</a>            <a>1.3-编写简单jQuery代码</a> <a>1.4-jQuery对象和DOM对象</a> <a>1.5-解决jQuery和其它库的冲突</a> <a>1.6-jQuery开发工具和插件</a>            <a>1.7-小结</a>        </div>     </div>


//在网上查啊,找啊….(此处省略N个小时),     $( '.has_childrenMain' ).each(     function ( i ) {        $( this ).click(     function () {        var val = $( this ).find( 'a' ).eq( i ).text();        alert( val );    } );    } );//好不容易找到了一段代码,试试了,只显示第0个值。“第1章-认识jQuery” ,//无耐的很只能进入while(查找中…),没有找到不过想通了,修改了一下代码:    $( '.has_childrenMain' ).find( 'a' ).each(     function ( i ) {        $( this ).click(         function () {            var val = $( this ).text();            alert( val );        }        );    }    );


//回头再看了一下第一段代码:$( '.has_childrenMain' ).each( //each只是找到1个或N个类为has_childrenMain的节点$( this ).click( //这里的$( this )是==<div class="has_childrenMain">var val = $( this ).find( 'a' ).eq( i ).text(); //在<div class="has_childrenMain">中去查找<a>那只能是找到第一个了,终于找到错误了

取代码进行了修改,本想说是重构的,想了算了吧偷笑

    $( 'div.has_childrenMain>a' ).each(         function ( i ) {            $( this ).click(         function () {            var val = $( this ).text();            alert( val );        } );        } );