2010-09-10 77 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 
}); 
相關問題