0
jQuery('.chk').click(function(){
   for(var k=0; k<2; k++) {
      deleteRow(k);  
   }                       
});

そして関数deleteRow()

function deleteRow(id) {
    var table = document.getElementById("modem_list");
    var rowName = 'row_'+id;
    if (table.rows.namedItem(rowName)) {
        table.deleteRow((table.rows.namedItem(rowName).rowIndex));
    }
}

<table id="modem_list">
   <tr name="row_1">Test 1</tr>
   <tr name="row_2">Test 2</tr>
</table>
<a class="chk" href="">CLICK</a>

クリックしても 2 タグが削除されません。どうすれば修正できますか?

4

3 に答える 3

1
$(function(){

    $('a.chk').click(function(e){
        e.preventDefault();
        $('table#modem_list tr').remove();
    });
});
于 2012-06-13T16:35:22.477 に答える
1

ソリューション全体は次のように短い場合があります。

$('.chk').click(function() {
    $('#modem_list tr').each(function() {
        $(this).remove();
    });
});

(あなたの質問から私が読んだり想像したりできることから。)

TRまたは、あなたで始まるクラスを持つものだけを削除するには、row_次を使用できます。

$('.chk').click(function() {
    $('#modem_list tr[class^=row_]').each(function() {
        $(this).remove();
    });
});

行をループしない短いバリアントも機能する可能性がありますが、よくわかりません。

$('.chk').click(function() {
    $('#modem_list tr[class^=row_]').remove();
});
于 2012-06-13T16:22:30.633 に答える
0
You are starting the for loop from 0 and you row id is starting from 1 thats why second one is not removing 
jQuery('.chk').click(function(){
    for(var k=1; k<=2; k++) {
         deleteRow(k);  
    }                       
});

    //  OR you can use another solution
jQuery('.chk').click(function($) {
    $('#modem_list tr').each(function() {
        $(this).remove();
    });
于 2012-06-13T16:38:36.800 に答える