您的位置:首页 > Web前端 > JQuery

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

2012-11-15 15:57 351 查看
//以下有个菜单,实现取出<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 );
} );
} );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐