JQuery 獲取表格中的數據


舉個例子

  

var arr = $('#table tbody tr td:nth-child(2)') //根據id依次找到表格中的td,而后取每列的第二個值

.map(function () { return $(this).text() }) // 使用 map 對每一個 td 進行處理,function為回調函數,返回每個元素的text

.get(); // 將對象集合轉換為數組,得到arr數組

另外還可以在后面.join(",") 這將轉換成字符串。

 

jQuery下有個概念叫“類數組”,比如$( " li " ),當取到一個集合的時候,會有數組的一些屬性,但是instancseof Array仍然是false。但是var a=$( "li" ).get()這樣處理一下,然后instancseof Array就返回true。

要注意var a=$( "li" ).get(1)里頭加序列號可以取到單個元素,這些元素的性質不是jQuery對象,而是Js對象,所以不可直接用jQuery方法。

    map()的功能主要有兩步,第一步就是遍歷,第二步就是替換。

    $( " li " ).map( function(  ){

    return  $(this).text(  );  // 注意return關鍵字不可少

} )

    map先遍歷,每一項都返回一個text()值,然后map會將這些值自動去替換$("li")集合的每一項值,所以這個時候還是個類數組(因為還是$(" li ")的殼子),不是個真正的數組。於是后面加個get()操作就變成真正的數組了,於是可以用join()這樣專屬於數組的方法。 

    如:    

    $( " li " ).map( function(  ){

        return  $(this).text(  );   

    } ).get(  ).join("%")            // 拼接成字符串,中間用“%”隔開  

 


 

上述方法是用map()先封裝成數組。也可以用each()。但要進行遍歷判斷的時候,就無需使用封裝成數組再進行遍歷。直接在回調函數里進行判斷即可

 也可用each()方法

var arr = $('#table tbody tr td:nth-child(2)').map(function () { 
    if($(this).text() == selectValue){
        alert("already exists!");
        return false;
    } 
});

var arr = $('#table tbody tr td:nth-child(2)').each(function () { 
    if($(this).text() == selectValue){
        alert("already exists!");
        return false;
    } 
});

  

  


 

 

nth-child(2) 選取第幾個標簽,里面的數字可以是你想要的

nth-child(n+4) 選取大於等於4標簽,“n”表示從整數

nth-child(-n+4)選取小於等於4標簽

nth-child(2n)選取偶數標簽,2n也可以是even

nth-child(2n-1)選取奇數標簽,2n-1可以是odd

nth-child(3n+1)自定義選取標簽,3n+1表示“隔二取一”

last-child選取最后一個標簽,同first-child

nth-last-child(3)選取倒數第幾個標簽,3表示選取第3個

 

 


免責聲明!

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



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