0

以下部分有效:

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

它拿起#call_1但没有当我点击.call_1

可能是语法错误吗?

4

3 回答 3

5

我认为您打算使用“多重选择器”:

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

});

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

于 2012-10-02T16:51:17.650 回答
4

请看这里:http ://api.jquery.com/multiple-selector/

$(".call_1") || $("#call_1")应该是$(".call_1, #call_1")

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

这是一个简单的jsFiddle 示例

于 2012-10-02T16:51:25.760 回答
2

试试看

$('.call_1, #call_1')

.call_1它适用于两者#call_1

于 2012-10-02T16:54:08.850 回答