//以下有个菜单,实现取出<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>那只能是找到第一个了,终于找到错误了
取代码进行了修改,本想说是重构的,想了算了吧
![偷笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/titter.gif)
$( 'div.has_childrenMain>a' ).each(
function ( i ) {
$( this ).click(
function () {
var val = $( this ).text();
alert( val );
} );
} );