是否有一些方法可以为多个ID编写jQuery选择器,这些id也使用父>儿童选择器?
我知道我可以这样做......
$('#checkbox1').click(function() {
// do stuff
});
......或者......
$('#div1 > input[type=checkbox]').click(function() {
// do stuff
});
......或者......
$('#checkbox1, #checkbox2, #checkbox3').click(function() {
// do stuff
});
...但是当我将两者结合起来时,它会变得冗长。是否有更有效/紧凑的方式?...
$('#div1 > input[type=checkbox], #div2 > input[type=checkbox], #div3 > input[type=checkbox]').click(function() {
// do stuff
});
答案 0 :(得分:1)
使用.children()
$("#div1, #div2, #div3").children("input[type=checkbox]").click(function() {
// do stuff
});
答案 1 :(得分:1)
由于jQuery实际上只是JavaScript,而你的选择器只是字符串,你实际上可以将它们保存到变量并将它们连接在一起。您可以更进一步将它们存储到一个数组中。例如......
var section = [
'#checkbox1',
'#div1 > input[type=checkbox]',
'#checkbox1, #checkbox2, #checkbox3'
];
$(section[0] + ", " + section[1] + ", " + section[2]).click(function() {
// do stuff
});
根据您的代码,您可以大大减少选择器的大小。你甚至可以做一些很酷的数组函数,使它成为一种更有效的分组方法。