隨手記錄---jq如何判斷當前元素是第幾個元素


主要自己總是不記得

結構如下,涉及jq中獲取當前元素是父元素的的第幾個元素,jq中獲取某類在同類元素中占第幾,each方法

<div class="parent">
    <div class="c">
        c
        <div class="cc">cc</div>
         
    </div>
    <div class="c">
        c
        <div class="cc">cc</div>
        
    </div>
    <div class="c myc">
        c
        <div class="cc mycc">cc</div>
         
    </div>
    <div class="c">
        c
         <div class="cc">cc</div>
        
    </div>
</div>

 

1、jq中獲取當前元素是父元素的的第幾個元素

  如上面的dom結構,我們知道,所有類c的元素都是類parent的子元素,所以我們可以直接使用index來獲取類myc在父元素中的順序(從0開始),代碼如下:

$('.myc').index();

 

2、jq中獲取某類在同類元素中占第幾

  而cc類則不同,你想要獲取的順序可能不是相對父元素的位置,因為這幾個cc類元素屬於不用的父元素c類,如果你使用$('.mycc').index(),無例外,結果是0而不是想要得到的2,我們的獲取方式還是使用index,但是不大一樣。

var myccIndex = $('.mycc').index('.cc');

3、each()方法

  我知道each()方法不錯,但是總是沒有使用它的意識……它是自帶index參數的

  

$('.c').each(function(index,element){
        $(this).append('---------------------'+index);
    });

4、js中獲取當前元素處於的順序

  據我了解,沒有簡便的方法,你可以自己留下標識,然后遍歷確定。

5、jq中獲取第N個元素和js中獲取第N個元素

  老生常談了,留點記錄:

  

var ele = $('.c').eq(2).find('.cc').eq(0);//jq中獲取c類的第2個元素的第0個cc類子元素
var elem = document.getElementsByClassName('c')[2].getElementsByClassName('cc')[0];//js中獲取c類的第2個元素的第0個cc類子元素

 完整代碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
    .cc{
        margin-left:20px;
    }
</style>
</head>
<body>

<div class="parent">
    <div class="c">
        c
        <div class="cc">cc</div>
         
    </div>
    <div class="c">
        c
        <div class="cc">cc</div>
        
    </div>
    <div class="c myc">
        c
        <div class="cc mycc">cc</div>
         
    </div>
    <div class="c">
        c
         <div class="cc">cc</div>
        
    </div>
</div>

<script src="js/jquery-3.3.1.min.js"></script>
<script>
window.onload=function(){
    $('.c').each(function(index,element){
        $(this).append('---------------------'+index);
    });
    var mycIndex = $('.myc').index();
    $('.myc').append('--我是myc,從0算起,我在父元素parent中排'+mycIndex);
    
    var myccIndex = $('.mycc').index();
    $('.mycc').append('---我是mycc,從0算起,我在父元素myc中排'+myccIndex+'\n');
    
    var myccIndex = $('.mycc').index('.cc');
    $('.mycc').append('---------從0算起,我在類cc中排'+myccIndex);


}

</script>

</body>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM