Javascript 确定div所在的元素数
假设我有:Javascript 确定div所在的元素数,javascript,jquery,html,Javascript,Jquery,Html,假设我有: <ul> <li></li> <li> <div id="test"></div> </li> <li></li> </ul> 有没有办法从div标签中分辨出它在哪个编号li标签中 也就是说,在div中有一个返回2的javascript函数,因为它位于第二个li元素中 我意识到我可以去: 获取父级ul 检查每个li子项,直到
<ul>
<li></li>
<li>
<div id="test"></div>
</li>
<li></li>
</ul>
-
有没有办法从div
标签中分辨出它在哪个编号li
标签中
也就是说,在div
中有一个返回2
的javascript函数,因为它位于第二个li
元素中
我意识到我可以去:
- 获取父级
ul
- 检查每个
子项,直到找到divli
有没有更优雅的方法可以做到这一点?您可以使用不同的jQuery变体 或
您可以使用jQuery的不同变体 或 您可以使用来获取
li
的索引,因为索引是以零为基础的,所以将1添加到该索引中以获取2
var $div = $('#test')
var index = $div.parent().index() + 1
您可以使用来获取li
的索引,因为索引是以零为基础的,所以将1添加到该索引中以获取2
var $div = $('#test')
var index = $div.parent().index() + 1
您可以使用以下内容:
<ul class="level-1">
<li class="item-i">I</li>
<li class="item-ii">II
<div class="text">this is the div</div>
</li>
<li class="item-c">C</li>
<li class="item-iii">III</li>
</ul>
- i
- ii
这是分区
- c
- iii
$(“ul.level-1”).find(“div”).css(“背景色”、“黄色”)
取决于您需要什么…您可以使用以下内容:
<ul class="level-1">
<li class="item-i">I</li>
<li class="item-ii">II
<div class="text">this is the div</div>
</li>
<li class="item-c">C</li>
<li class="item-iii">III</li>
</ul>
- i
- ii
这是分区
- c
- iii
$(“ul.level-1”).find(“div”).css(“背景色”、“黄色”)
取决于您需要什么…为什么不
$('li:has(div)')。index()
?欢迎您。这些代码段的工作方式不同,可以返回不同的值(基于标记)。这应该说明区别:为什么不$('li:has(div)').index()
?不客气。这些代码段的工作方式不同,可以返回不同的值(基于标记)。这应该显示出区别: