为了账号安全,请及时绑定邮箱和手机立即绑定

jquery中 .find().index() 输出不对,是什么原因呢?

jquery中 .find().index() 输出不对,是什么原因呢?

POPMUISE 2022-02-18 11:11:35
<nav id="nav-menu" class="clearfix" role="navigation"><a class="current" href="">首页</a><div id="nav-drop"><ul class="widget-list"><li class="category-level-0 category-parent"><a href="">产品</a><ul class="widget-list"><li class="category-level-1 category-child category-level-odd"><a href="">产品1000</a></li><li class="category-level-1 category-child category-level-odd"><a href="">产品2000</a></li></ul></li><li class="category-level-0 category-parent"><a href="">新闻</a><ul class="widget-list"><li class="category-level-1 category-child category-level-odd"><a href="">新闻1</a></li><li class="category-level-1 category-child category-level-odd"><a href="">新闻2</a></li></ul></li></ul></div><a href="" title="关于">关于</a></nav>$("nav#nav-menu").each(function(){var strs = document.location.href;var rets = strs.split("#")[1];var str = $("nav#nav-menu").find('a[href*="'+rets+'"]').index()alert(str)});实际上index()返回序数 结果只有 '首页', '关于'两个其他的<a> 全部返回0难道find只能查找一级?但是确实包含到其它标签里的<a> 不能返回正确的序数
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

var str = $("nav#nav-menu").find('a[href*="'+rets+'"]').index()
alert(str)
中$("nav#nav-menu").find('a[href*="'+rets+'"]')可能会返回多个元素数组如返回[<a>,<a>]
而index()如果不传参的话,只会选择[<a>,<a>]中的第一个<a>,返回的是这个<a>在同辈元素中的索引。

查看完整回答
反对 回复 2022-02-21
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

直接获取a标签遍历就好
$("a").each(function(){ })

查看完整回答
反对 回复 2022-02-21
  • 2 回答
  • 0 关注
  • 413 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号