我能在jQuery中同时选择多个对象变量吗?

10

类似这样的代码无法运行,有什么解决方法?

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

Bennor已经得到了最佳答案。我会在10分钟内接受。 - bcm
将它们放入变量中的目的是因为我需要多次使用这些目标。 - bcm
5个回答

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');

+1 因为它确实回答了关于选择多个对象的问题。 - Chris Harrison

1
你离答案很近了,可以用逗号将多个选择器组合起来,就像这样:

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

如果您已经有多个对象,并且不知道导致这些对象被创建的事件,则无法确定。 - Chris Harrison

1

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

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

0

你可以最初使用多重选择器

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

0
如果只有两个选择器,你可以使用“merge”,但如果超过两个,应该使用“each”。
// using merge:
$.merge(selector1, selector2) // the rest

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接