[英]How do I retrieve array elements in pairs using the for loop in javascript?
[英]How do I loop through table elements AND retrieve data elements using JQuery?
我有一個在標准HTML 4.01 Transitional頁面中看起來像這樣的html表:
<table>
<thead>
<tr>
<th>Col 1</th>
<th>Col 2</th>
<th>etc...</th>
</tr>
</thead>
<tbody id="tableBodyID">
<tr class="rowElement" data-element="some-data-here">
<td>Some Table Data</td>
<td>Some More Table data</td>
<td>etc.</td>
</tr>
<tr class="rowElement" data-element="some-data-here">
<td>Some Table Data</td>
<td>Some More Table data</td>
<td>etc.</td>
</tr>
</tbody>
</table>
我想循環遍歷所有行並獲取data-element字段中的“data”,並使用JQuery將其放入變量中。 我嘗試過.children(),. data()和.each()的多種變體,但是無法檢索“data”元素。
我試過(在$(document).ready()塊中...):
$('tbody > tr').each(function() {
alert( $(this).data('element')); // CORRECTION - this works.
});
$('tbody').children().each(function() {
alert( $(this).data('element')); // CORRECTION - this works
});
$('.rowElement').each(function(i, obj) {
rowValue = $(this);
alert(rowValue.data('element')); // CORRECTION - this works
});
歡迎任何幫助。 我使用的是HTML 4.01和JQuery 1.7.1。 我一直在Firefox中測試,但需要支持其他標准瀏覽器Firefox,Opera,Safari,Chrome和IE8 +。
(針對較小的語法更改進行了編輯)
實際問題是一個案例問題,請參閱下面的評論。 問題解決了。
這對我有用:
$('table').find('tbody > tr').each(function() {
alert( $(this).data('element'));
});
(但它可能不是最有效的方式)
使用.map
和.get
,可以將每個tr
映射到element
數據屬性,以獲取這些值的數組。 至於選擇器,ID是最直接的,因為它直接指向tbody
元素,你想要tr
后代: http : //jsfiddle.net/zeFGW/ 。
var elementValues = $("#tableBodyID tr.rowElement").map(function() {
return $(this).data("element"); // replace each `tr` with its `element` data
}).get(); // turn jQuery object into an array
你的邏輯/調用對我有用,但你有一些語法問題,括號后面('element');
應該是('element'));
並且選擇器也需要引用,缺少的那些應該是('tbody')
等。
jsfiddle 。 (注意我將alert更換為console.log調用)
測試鉻17。
您的代碼與問題中發布的代碼有何不同?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.