2016-07-29 48 views

回答

1

使用jQuery map()get()方法

// iterate over elements using map and generate array elelements 
var res = $("tr.selected").nextAll('tr').map(function(){ 
    // get data attribute value 
    return $(this).data('id'); 
    // get the result object as an array using get method 
}).get(); 

如果你想獲得的所有兄弟姐妹的屬性值,然後使用siblings()方法來代替。

var res = $("tr.selected") 
    // get all sibling tr  
    .siblings() 
    // iterate over elements using map and generate array elelements 
    .map(function(){ 
    // get data attribute value 
    return $(this).data('id'); 
    // get the result object as an array using get method 
}).get(); 
+1

@ pranav它現在的工作感謝: –

+0

@manup:很高興幫助你:) –

+0

和一個更多的幫助plz。如果我想知道這些tr的左值(數組中的所有tr),我如何編寫代碼? –

1

事實上,代碼可能看起來像:

var ids = $('tr.selected').nextUntil('.selected').map(function() { 
    return $(this).data('id'); 
}).get(); 

所以作爲演示,請看下面的例子:

$('tr.selected').each(function() { 
 
    var ids = $(this).nextUntil('.selected').map(function() { 
 
    return $(this).data('id'); 
 
    }).get(); 
 

 
    console.log(ids); 
 
});
.selected { 
 
    background: #ccc; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<table border="1"> 
 
    <tr data-id="1"><td>Row 1</td></tr> 
 
    <tr data-id="2" class="selected"><td>Row 2</td></tr> 
 
    <tr data-id="3"><td>Row 3</td></tr> 
 
    <tr data-id="4"><td>Row 4</td></tr> 
 
    <tr data-id="5" class="selected"><td>Row 5</td></tr> 
 
    <tr data-id="6"><td>Row 6</td></tr> 
 
    <tr data-id="7"><td>Row 7</td></tr> 
 
</table>

相關問題