Jquery 针对多个功能的单击事件

Jquery 针对多个功能的单击事件,jquery,click,Jquery,Click,我有以下代码: $('#picture-div').click(function(){ $('#div-in-document').fadeToggle('slow', $func1); }); $('#picture-div2').click(function(){ $('#div-in-document2').fadeToggle('slow', $func2); }); 我试图把它变成一个点击事件,但似乎无法使它工作。我尝试了以下方法: $('#picture-div ,

我有以下代码:

$('#picture-div').click(function(){
    $('#div-in-document').fadeToggle('slow', $func1);
});
$('#picture-div2').click(function(){
    $('#div-in-document2').fadeToggle('slow', $func2);
});
我试图把它变成一个点击事件,但似乎无法使它工作。我尝试了以下方法:

$('#picture-div ,#picture-div2').click(function(){
    if($(this) == '#picture-div')
        $('#div-in-document').fadeToggle('slow', $func);
    else
        $('#div-in-document2').fadeToggle('slow', $func2);
});
但这总是转到
else
,因此我的if语句无效


谢谢。

也许是这样的:

$('#picture-div ,#picture-div2').click(function(){
    if($(this).attr("id") == '#picture-div')
        $('#div-in-document').fadeToggle('slow', $func);
    else
        $('#div-in-document2').fadeToggle('slow', $func2);
});
或者您可以制作一种映射:

var arr = [ { selector: "#picture-div", subselector: "#div-in-document", func: $func1},
            { selector: "#picture-div2", subselector: "#div-in-document2", func: $func2}]
并通过它来分配处理程序:

for(int i = 0; i < arr.length; i++)
{
    $(arr[i].selector).click(function(){
      $(arr[i].subselector).fadeToggle('slow', arr[i].func);
   });
}
for(int i=0;i
可能是这样的:

$('#picture-div ,#picture-div2').click(function(){
    if($(this).attr("id") == '#picture-div')
        $('#div-in-document').fadeToggle('slow', $func);
    else
        $('#div-in-document2').fadeToggle('slow', $func2);
});
或者您可以制作一种映射:

var arr = [ { selector: "#picture-div", subselector: "#div-in-document", func: $func1},
            { selector: "#picture-div2", subselector: "#div-in-document2", func: $func2}]
并通过它来分配处理程序:

for(int i = 0; i < arr.length; i++)
{
    $(arr[i].selector).click(function(){
      $(arr[i].subselector).fadeToggle('slow', arr[i].func);
   });
}
for(int i=0;i
试试这个,我希望它能起作用

$('#picture-div ,#picture-div2').click(function(){
    if($(this) == $('#picture-div'))
        $('#div-in-document').fadeToggle('slow', $func);
    else
        $('#div-in-document2').fadeToggle('slow', $func2);
});

我还没有测试过它,但我很确定它会起作用。试试这个,我希望它能起作用

$('#picture-div ,#picture-div2').click(function(){
    if($(this) == $('#picture-div'))
        $('#div-in-document').fadeToggle('slow', $func);
    else
        $('#div-in-document2').fadeToggle('slow', $func2);
});

我还没有测试过它,但我非常确定它会起作用。

使用
数据-*
属性更改标记,如:

$('#picture-div ,#picture-div2').click(function(){
    if($(this) == $('#picture-div'))
        $('#div-in-document').fadeToggle('slow', $func);
    else
        $('#div-in-document2').fadeToggle('slow', $func2);
});
<div class="picture-div" data-target="someId">...</div>
<div class="picture-div" data-target="someOtherId">...</div>

可维护性是安全的,hoorray。

使用
数据-*
属性更改标记,如:

<div class="picture-div" data-target="someId">...</div>
<div class="picture-div" data-target="someOtherId">...</div>

可维护性是安全的,胡说八道。

如果我单击其中一个,两个都会显示,因此不起作用。Zenith Suggestion也会发生同样的情况。请您也粘贴div的代码,因为根据我的说法,上面的代码应该可以使用:(第32-35行是相关代码),但我认为这与我上面写的相同。请让我知道是否有一些不同。如果我单击一个,两个都会显示,因此无法工作。Zenith Suggestion也会发生同样的情况。请您也粘贴div的代码,因为根据我的说法,上面的代码应该可以使用:(第32-35行是相关代码),但我认为这与我上面写的相同。请让我知道是否有一些不同的书,如正确的人删除了他的帖子(?)。不管怎样,我试过了,效果很好,谢谢!看起来正确的人删除了他的帖子(?)。不管怎样,我试过了,效果很好,谢谢!