Jquery:不从html表中删除行

时间:2014-06-04 12:50:00

标签: jquery html-table row removeclass

我有一个html表,我需要根据函数传递的ID删除一些行。

这是我的代码:

<html>
    <script>
    function myfunc(){
        var dat ="6|21|22|"; // this string is a dynamic string coming 
                             // from another function. I've hardcoded it 
                             // for clarity
        var aryDat0 = dat.split('|');
        //delete empty elements
        var aryDat = aryDat0.filter(function(v){return !!v}); 
        for (var i = 0, l = aryDat.length; i <l; i++) {
          $( "'#" + aryDat[i] + "'" ).remove();
        }
    }
    </script>
    <table name="mytab" border="1px">
        <tr id="6"> 
            <td>6</td>
            <td>ada</td>
        </tr>
        <tr id="21">
            <td>21</td>
            <td>eda</td>
        </tr>
        <tr id="22">
            <td>22</td>
            <td>ida</td>
        </tr>
    </table>
    <input type="button" value="test" 
           onclick="javascript:myfunc(); return false;">
</html>

当我按下“测试”按钮时,没有任何反应,我进入Chrome控制台:

Uncaught Error: Syntax error, unrecognized expression: '#6' 

为什么? 如果不是:

$( "'#" + aryDat[i] + "'" ).remove();

我做:

$('#21').remove();

效果很好。

2 个答案:

答案 0 :(得分:2)

此错误 未捕获错误:语法错误,无法识别的表达式:&#39;#6&#39; 明确指出$("'#6'")是无效的Jquery选择器

尝试,

$( "#" + aryDat[i]).remove();

答案 1 :(得分:0)

只需将id值连接到#

即可
 $( '#' + aryDat[i]  ).remove();