4

我正在创建一个注册页面,用户可以在其中注册其他几个人。我已经做到了,只有当用户选择某个选项时,表格才会显示。我还添加了添加按钮,添加行非常好。问题是当我为删除按钮添加功能时,一切都会中断。这是我的html:

<div id="add_table" style="display:none;" >
    <button type="button" id="AddLine">Add Line</button>
    <table border="1px" id="table">
        <tr>
            <td>First Name</td>
            <td>Last Name</td>
            <td>Phone</td>
            <td>Email</td>
            <td>Ethnicity</td>
        </tr>
        <tr>
            <td><input type=text /></td>
            <td><input type=text /></td>
            <td><input type=text /></td>
            <td><input type=text /></td>
            <td><input type=text /></td>
            <td><button type="button">delete</button></td>
        </tr>
    </table>​
</div>

这是我的jQuery代码:

$(document).ready(function(e) { 
    $("input[name= 'Reg_num_r']").change( function () {
        if($(this).val()==1) {
            $("#add_table").hide();
        } else {
            $("#add_table").show();
        }
    });

    /*$("#table").on("click", "button", function() {
       $(this).closest("tr").remove(); 
    });​*/

    $("#AddLine").click(function () {
        var row = "<tr><td><input type=text /></td><td><input type=text /></td><td><input type=text /></td><td>                   <input type=text /></td><td><input type=text /></td><td><button type=button>delete</button></td></tr>";
        $("#table").append(row);
    });
});

现在,当我取消注释上面的注释代码时,一切都停止了。即使用户选择了正确的选项,表格也不会显示。我应该如何修复它才能正确执行删除行操作?

4

1 回答 1

2

Ctrl+CCtrl+V从你的代码:

/*$("#table").on("click", "button", function() {
    $(this).closest("tr").remove(); 
});​*/

最后一个分号后面有一个 0 宽度的空格,点击编辑并使用箭头键查看。它是 JavaScript 中的非法字符,会产生语法错误。

这是从 jsFiddle 和其他地方复制代码时的常见问题。

我建议手头有一个Notepad++的副本来查看 copypasta 代码,它?默认显示那些不可见的字符:

在此处输入图像描述

您也可以取消注释代码并在JSHint中对其进行测试,它会告诉您在哪一行有无效字符。

于 2012-09-16T23:44:38.820 回答