jQuery比较运算符

时间:2012-10-02 16:49:58

标签: jquery

以下部分工作:

($(".call_1") || $("#call_1")).click(function(evt) 
      {
        evt.preventDefault();
        $("#championSlideshow, #pourSlideshow, #skimSlideshow").fadeOut(0,function()
        {
         $("#prepareSlideshow").fadeIn();
             console.log(prepare);
        });
   });

当我点击#call_1

时,它会选择.call_1但不会

语法错了吗?

3 个答案:

答案 0 :(得分:5)

我认为您打算使用“multiple selector”:

$("#call_1, .call_1").click(function(evt) {

});

在您当前的代码中,对($(".call_1") || $("#call_1"))的评估将只返回$(".call_1"),因为两个调用都将返回一个jQuery对象,这将始终是真实的。

答案 1 :(得分:4)

请看一下:http://api.jquery.com/multiple-selector/

$(".call_1") || $("#call_1")应为$(".call_1, #call_1")

  

您可以指定任意数量的选择器组合成一个   结果。这种多表达组合子是一种有效的方法   选择不同的元素。中的DOM元素的顺序   返回的jQuery对象可能不一样,因为它们将在   文件订单。

这是一个简单的jsFiddle example

答案 2 :(得分:2)

尝试

$('.call_1, #call_1')

它适用于.call_1#call_1