【发布时间】:2014-07-25 03:11:47
【问题描述】:
我有一个 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();
效果很好。
【问题讨论】:
-
调试代码的第一种方法是编写干净的代码!我编辑了您的邮政编码以提高可读性!
标签: jquery html-table row removeclass