如何在jQuery中选择多个对象

时间:2011-03-24 09:50:51

标签: jquery

我的代码工作正常

$('#' + file.id + 'tdp').remove();
$('#' + file.id + 'tdr').remove();

我想重构代码以减少使用多个选择器(如

$('#' + file.id + 'tdp', '#' + file.id + 'tdr').remove();

不幸的是它不起作用,为什么?

4 个答案:

答案 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();

不确定这是否更具可读性和效率,只是另一种可能的解决方案。

jQuery Starts With Selector