1

次の HTML を考えると、note_table21 ID で note_record[0-9] ID の数をカウントする必要があります。jqueryでこれを行うにはどうすればよいですか?注: note_record id の末尾の数字は動的に生成されます。私はある種の正規表現が必要ですが、私はそれを正しく理解するにはあまりにも多くのjquery初心者です

<table id="note_table21" width="100%" cellspacing="1" cellpadding="1">
 <tbody>
    <tr id="note_record259">...</tr>
    <tr id="note_record260">...</tr>
    <tr id="note_record261">...</tr>
 </tbody>
</table>
4

4 に答える 4

2

ID が で始まるtrinの数を取得するには:note_table21note_record

var count = $("#note_table21 tr[id^=note_record]").length

ここでのトリックは、Attribute Starts With セレクターです。

アップデート

つまり、ドキュメント構造を次のように変更する必要があります。

<table class="note_table" data-id="21" width="100%" cellspacing="1" cellpadding="1">
 <tbody>
    <tr class="note_record" data-id="259">...</tr>
    <tr class="note_record" data-id="260">...</tr>
    <tr class="note_record" data-id="261">...</tr>
 </tbody>
</table>

次に、これらのスクリプト スニペットが役立ちます。

///gets the rows in a variable
var $rows = $(".note_table tr.note_record]");

//gets the count
var count = $rows.length;

//iterate through the rows, alerting the id of each row:
$rows.each(function(index, row){
    var id = $(row).data("id");
    alert(id);
})
于 2012-11-15T18:50:07.807 に答える
1

( ) セレクターで始まるを使用して、属性の開始をテストできます。^=

$(document).find("#note_table21 tr[id^=note_record]").length;

デモ: http://jsfiddle.net/7uyaW/

于 2012-11-15T18:49:57.623 に答える
0

子には CSS セレクターを使用できます。

$("#note_table21 > #note_record259")
于 2012-11-15T18:51:47.340 に答える
0

これを試して

$(document).ready(function(){
  $("#note_table21 tbody tr[id*='note_record']").length;
});
于 2012-11-15T18:53:10.903 に答える