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

//以下有个菜单,实现取出<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 );
        } );
        } );



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值