我想将2个调用合并为1,但我不确定是否因为其中一个类对子内容有额外的影响。
$('.abc').children().not(".xyz").click(function() { //stuff });
$('#myid').click(function() { //same stuff });
通常情况下,我只会做$('.abc , #myid')
但myid
有xyz
子孩子,在这种情况下我不想受影响(与.abc
不同),所以我不能把所有的东西都结合起来。
合并这两个的最佳方法是什么,所以我不会重写相同的“东西”功能?
答案 0 :(得分:1)
您始终可以使用命名函数
function doStuff() { /* stuff */ }
$('.abc').children().not(".xyz").click(doStuff);
$('#myid').click(doStuff);
答案 1 :(得分:1)
如果将其置于一次通话中至关重要,您可以将第一个选择器简化为
$('.abc :not(.xyz)')
这将允许您使用
$('.abc :not(.xyz), #myid')
答案 2 :(得分:0)
你可以试试这个:
function doStuff(){
// your same stuffs
}
$('.abc').children().not(".xyz").click(doStuff);
$('#myid').click(doStuff);
答案 3 :(得分:0)
您可以尝试:
$('.abc').children().not(".xyz").add('#myid').click(function() {
// stuff
})
答案 4 :(得分:0)
您仍然可以使用.add方法执行与$('.abc , #myid')
类似的操作。
$('.abc').children().not(".xyz").add('#myid').click(function(){ /* stuff*/ });