2010-09-10 82 views
10

类似的东西不行,周围的工作是什么?我可以在jQuery中多选择对象变量吗?

var tgtCol = $('td[aria-describedby=tblGrid_Subject]'); 
var tgtHdr = $('#tblGrid_Subject'); 
$(tgtHdr, tgtCol).attr('colSpan', '3'); 
+0

Bennor已经拿到了最好的答案。我会接受一次我可以(10分钟) – bcm 2010-09-10 02:29:24

+0

将它们放在一个变量的一点是因为我使用的目标不止一次。 – bcm 2010-09-10 02:30:23

回答

13
var tgtCol = $('td[aria-describedby=tblGrid_Subject]'); 
var tgtHdr = $('#tblGrid_Subject'); 
$(tgtHdr).add(tgtCol).attr('colSpan', '3'); 

这也将工作:

var stuff = $('td[aria-describedby=tblGrid_Subject], #tblGrid_Subject'); 
stuff.attr('colSpan', '3'); 
+0

谢谢,那很快就是 – bcm 2010-09-10 02:28:40

+0

+1,因为它实际上回答了关于选择多个OBJECTS的问题。 – 2012-09-29 11:02:01

1

你靠近,你可以多个选择用逗号结合,例如:

$('td[aria-describedby=tblGrid_Subject], #tblGrid_Subject').attr('colSpan', '3'); 
+0

如果您已经有多个对象,并且您不知道导致创建这些对象的事件,请不要使用这些对象。 – 2012-09-29 11:00:09

0

可以使用multiple selector最初:

$('td[aria-describedby=tblGrid_Subject], #tblGrid_Subject').attr('colSpan', '3'); 
1

由于前两行已经返回一个jQuery对象,你可以做这样的:

tgtHdr.attr('colSpan', '3'); 
tgtCol.attr('colSpan', '3'); 
+0

这将是一个干燥的情况 – 2012-09-29 11:01:06

0

如果是两个选择,你可以使用“合并”,但如果是两个以上的你应该使用“每个”

// using merge: 
$.merge(selector1, selector2) // the rest 

// using each: 
$([selector1, selector2, selector3, .....etc]).each(function(){ 
    // your code here 
}); 
相关问题