我有一个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();
效果很好。
答案 0 :(得分:2)
此错误 未捕获错误:语法错误,无法识别的表达式:&#39;#6&#39; 明确指出$("'#6'")
是无效的Jquery选择器
尝试,
$( "#" + aryDat[i]).remove();
答案 1 :(得分:0)
只需将id值连接到#
即可 $( '#' + aryDat[i] ).remove();