删除标记值时出错

时间:2012-06-13 16:14:18

标签: jquery

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标签时,如何解决?

3 个答案:

答案 0 :(得分: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();
});

答案 1 :(得分:1)

$(function(){

    $('a.chk').click(function(e){
        e.preventDefault();
        $('table#modem_list tr').remove();
    });
});

答案 2 :(得分: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();
    });