Javascript 如何获得$(this)的eq()?
这是我的密码:Javascript 如何获得$(this)的eq()?,javascript,jquery,Javascript,Jquery,这是我的密码: $('div.menu > ul > li > a').click(function(e) { alert($(this).eq()); e.preventDefault(); }); <div class="menu"> <ul> <li><a href="">Animals</a></li> <li><a
$('div.menu > ul > li > a').click(function(e) {
alert($(this).eq());
e.preventDefault();
});
<div class="menu">
<ul>
<li><a href="">Animals</a></li>
<li><a href="">Cars</a></li>
<li><a href="">Sports</a></li>
</ul>
</div><!-- menu -->
$('div.menu>ul>li>a')。单击(函数(e){
警报($(this.eq());
e、 预防默认值();
});
我的尝试警告对象错误。If应该返回被单击链接的数字位置。例如,如果您单击“动物”,它应该向1发出警报(不确定eq计数是否从0开始,如数组,在这种情况下,它应该向1发出警报),如果您单击“运动”,它应该向3发出警报,依此类推……您要使用的函数是,并且它是基于零的 通过使用零参数版本的
.index()
,并将处理程序放在
标记上而不是
将处理程序放在
标记上允许jQuery自动计算基于同级的索引
或者,让选择器引用
标记,并使用$(this).parent().index()
Eq确实从0开始,要获得它,您需要有一个参考列表,请尝试:
var links = $('div.menu > ul > li > a');
links.click(function(e) {
var index = links.index($(this));
alert(index);
e.preventDefault();
});
在线示例:我的错误-基于兄弟姐妹的版本在这里不起作用,因为每个
标记都没有兄弟姐妹,只有
标记有兄弟姐妹。
var links = $('div.menu > ul > li > a');
links.click(function(e) {
var index = links.index($(this));
alert(index);
e.preventDefault();
});