jQuery 怎样当前的元素是某个集合中的第几个子集?

时间:2022-02-13 22:11:11
如下,求 <li> 在 <div> 中的序号.


<div>
<li>aaa</li>
<li>bbb</li>
<li>dsf</li>
<li>3ee</li>
<li>4etre</li>
<li>5gvc</li>
<li>6ry</li>
<li>7ert</li>
</div>


<script>
jQuery(document).ready(function () {
$("div li").click(function(){
var n=0;//这里,怎样可以知道,当前点击的 <li> 是在 $("div")中的第几个?
// li 中没有id,name等可以直接确定序号的东西,
alert("当前是第"+n+"个 <li>");
   });
});
</script>

4 个解决方案

#1



jQuery(document).ready(function () {
    $("div li").click(function(){
            alert($(this).prev("li").length);
            var n=0;//这里,怎样可以知道,当前点击的 <li> 是在 $("div")中的第几个?
            // li 中没有id,name等可以直接确定序号的东西,
            alert("当前是第"+n+"个 <li>");
                       });
});

#2


下面代码直接打的,没有语法验证,你看看意思就可以了,这段代码的效率可以提高,把click注册到div里面,对一般的应用影响不大


<script>
jQuery(document).ready(function () {
    $.each($("div li"), function(ele, i){
        $(ele).click(function(){
            var n=i;//这里通过传入的参数可以知道是第几个
            // li 中没有id,name等可以直接确定序号的东西,
            alert("当前是第"+n+"个 <li>");
         });
});
   
</script>

#3


感谢ls两位.
不过,好像都有些问题,简单修改一下,方便后来人:
cj205 : 

jQuery(document).ready(function () {
    $("div li").click(function(){
            alert($(this).prevAll("li").length);//要 prevAll 才行,prev只返回1
                       });
});

hzrui:

jQuery(document).ready(function () {
  $("div li").each(function( i){
   $(this).click(function(){
   var n=i;//这里通过传入的参数可以知道是第几个
   alert("当前是第"+n+"个 <li>");
   });
  });
});

这样才对.

#4


indexOf

#1



jQuery(document).ready(function () {
    $("div li").click(function(){
            alert($(this).prev("li").length);
            var n=0;//这里,怎样可以知道,当前点击的 <li> 是在 $("div")中的第几个?
            // li 中没有id,name等可以直接确定序号的东西,
            alert("当前是第"+n+"个 <li>");
                       });
});

#2


下面代码直接打的,没有语法验证,你看看意思就可以了,这段代码的效率可以提高,把click注册到div里面,对一般的应用影响不大


<script>
jQuery(document).ready(function () {
    $.each($("div li"), function(ele, i){
        $(ele).click(function(){
            var n=i;//这里通过传入的参数可以知道是第几个
            // li 中没有id,name等可以直接确定序号的东西,
            alert("当前是第"+n+"个 <li>");
         });
});
   
</script>

#3


感谢ls两位.
不过,好像都有些问题,简单修改一下,方便后来人:
cj205 : 

jQuery(document).ready(function () {
    $("div li").click(function(){
            alert($(this).prevAll("li").length);//要 prevAll 才行,prev只返回1
                       });
});

hzrui:

jQuery(document).ready(function () {
  $("div li").each(function( i){
   $(this).click(function(){
   var n=i;//这里通过传入的参数可以知道是第几个
   alert("当前是第"+n+"个 <li>");
   });
  });
});

这样才对.

#4


indexOf