我的代码工作正常
$('#' + file.id + 'tdp').remove();
$('#' + file.id + 'tdr').remove();
我想重构代码以减少使用多个选择器(如
)$('#' + file.id + 'tdp', '#' + file.id + 'tdr').remove();
不幸的是它不起作用,为什么?
答案 0 :(得分:5)
逗号应在选择器字符串
中$('#' + file.id + 'tdp , #' + file.id + 'tdr').remove();
答案 1 :(得分:5)
逗号应该是选择器字符串的一部分。请改用:
$('#' + file.id + 'tdp, #' + file.id + 'tdr').remove();
或者,您可以使用.add()
:
$('#' + file.id + 'tdp').add('#' + file.id + 'tdr').remove();
由您来决定哪一个更具可读性。
答案 2 :(得分:0)
元素选择器之间的逗号位于代码级别,而不是选择器字符串的一部分。这意味着JavaScript引擎将第二部分解释为$
函数的第二个参数。
就我个人而言,我会将这两个陈述留作单独的陈述,因为在我看来这个陈述更容易阅读。
答案 3 :(得分:0)
对于这个具体的例子,你也可以使用这样的东西:
$('[id^="'+file.id+'td"]').remove();
不确定这是否更具可读性和效率,只是另一种可能的解决方案。