存储特定元素以便稍后操作

时间:2013-01-24 21:30:46

标签: jquery jquery-selectors

我正在尝试切换特定的元素选择。我想根据选择隐藏元素,然后显示那些完全相同的元素。我试图使用这段代码,但行没有“显示”,因为它似乎重新检查哪些是可见的。

jQuery(function($){
        $('input[id^=_cmb_api_use_defaults_]').click(function(){
                var $rows = $(this).parents('tr:first').nextAll('tr:visible');
                if($(this).is(':checked')){
                        $rows.hide();
                } else {
                        $rows.show();
                }
        });
});

如何存储这些特定元素,以便稍后可以操作完全相同的表行?

1 个答案:

答案 0 :(得分:0)

只需使用在函数外声明的变量:

jQuery(function($){
        $('input[id^=_cmb_api_use_defaults_]').each(function(i, input) {
            var $rows = $(input).parents('tr:first').nextAll('tr:visible');
            $(input).click(function() {
                    if($(this).is(':checked')){
                            $rows.hide();
                    } else {
                            $rows.show();
                    }
            });
        });
});