jQuery-通过自定义函数传递要单击的参数

jQuery-通过自定义函数传递要单击的参数,jquery,Jquery,对不起,这是个糟糕的问题。我不知道如何删除它。这里的实际问题和解决方案: 在这种情况下,您可以使用 $('.section-legend, .section-collapse').click(hidesection); 及 没有必要重新绑定函数 您可以将单击事件绑定到名为toggleSection()的函数,该函数在节可见时隐藏该节,或在隐藏时显示该节,或者只使用以下方法: $('.section.hidden').click(function() { $(this).toggle()

对不起,这是个糟糕的问题。我不知道如何删除它。这里的实际问题和解决方案:


在这种情况下,您可以使用

$('.section-legend, .section-collapse').click(hidesection);


没有必要重新绑定函数

您可以将单击事件绑定到名为toggleSection()的函数,该函数在节可见时隐藏该节,或在隐藏时显示该节,或者只使用以下方法:

$('.section.hidden').click(function() {
    $(this).toggle();
});

jQuery提供了一种更简单的方法来实现您想要做的事情:

这样,您就不必手动实现更改,而是使用一键绑定

当然,如果您只想隐藏和显示对象,也可以使用

而不是手工编码。 这主要是Javascript框架为您所做的,它们实现现有的功能,您可以利用这些功能,而不是自己实现它们。此外,跨浏览器的不兼容性也得到了解决(大部分)


如果您真的想充分利用jQuery的潜力,请深入了解它提供的所有功能。这样,您将节省大量时间,否则您将投入到开发现有功能中。

如果您只需要可见性,只需使用切换即可。如果您有用于隐藏节的自定义css,请使用toggleClass。说明

<script type="text/javascript">
    $(function () {

        $('p').click(function () {
            $('#book').toggle();



            // In javascript, just like many C-derived languages, you can pass 
            // the method's pointer to a variable in. 
            // hidden is the custom class you add and remove from a section
            f = $('#great').is('.hidden') ? funky : hacky;

            f($(this));



            $('#great').toggleClass('hidden');

            $('#amazing').toggleClass('man');

            alert($('#great').attr('class') + ' ---- ' + $('#amazing').attr('class'));
        });


        function funky(section) {
            $(section).html('this is funky!');
        }

        function hacky(section) {
            $(section).html('this is hacky!');
        }

    });
</script>

<div id='book' style='display: none'>Hello</div>

<div id='great' class='diz hidden whatever'>Hai</div>
<div id='amazing' class='spider'>Hai</div>

<p>Stackoverflow rules!</p>

$(函数(){
$('p')。单击(函数(){
$('#book').toggle();
//在javascript中,就像许多C派生语言一样,您可以传递
//指向中变量的方法指针。
//hidden是从节中添加和删除的自定义类
f=$(“#很棒”)。是(“.hidden”)?时髦:哈奇;
f($(本));
$(“#很棒”).toggleClass('hidden');
$(“#惊人”).toggleClass('man');
警报($('#great').attr('class')+'----'+$('#mazing').attr('class'));
});
函数funky(部分){
$(section.html('this funky!');
}
函数hacky(第节){
$(section.html('this hacky!');
}
});
你好
海
海
堆栈溢出规则

如果希望节开始隐藏,请将
style=display:none
放入标记。对于自定义隐藏/格式,请使用toggleClass

<script type="text/javascript">
    $(function () {

        $('p').click(function () {
            $('#book').toggle();



            // In javascript, just like many C-derived languages, you can pass 
            // the method's pointer to a variable in. 
            // hidden is the custom class you add and remove from a section
            f = $('#great').is('.hidden') ? funky : hacky;

            f($(this));



            $('#great').toggleClass('hidden');

            $('#amazing').toggleClass('man');

            alert($('#great').attr('class') + ' ---- ' + $('#amazing').attr('class'));
        });


        function funky(section) {
            $(section).html('this is funky!');
        }

        function hacky(section) {
            $(section).html('this is hacky!');
        }

    });
</script>

<div id='book' style='display: none'>Hello</div>

<div id='great' class='diz hidden whatever'>Hai</div>
<div id='amazing' class='spider'>Hai</div>

<p>Stackoverflow rules!</p>