Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使此代码更加紧凑_Jquery_Html_Css - Fatal编程技术网

Jquery 如何使此代码更加紧凑

Jquery 如何使此代码更加紧凑,jquery,html,css,Jquery,Html,Css,我有一个结构,当文档加载时,检查复选框是否被选中(谁可以使用更多彼此如此接近的单词“check”?=),如果选中,表中的某些行将被隐藏。看起来是这样的: if (jQuery('#navbar_disabled').is(':checked')) { jQuery('#navbar_disabled').parents('tr').prev().hide(); jQuery('#navbar_disabled').parents('tr').prev().prev

我有一个结构,当文档加载时,检查复选框是否被选中(谁可以使用更多彼此如此接近的单词“check”?=),如果选中,表中的某些行将被隐藏。看起来是这样的:

if (jQuery('#navbar_disabled').is(':checked')) {
        jQuery('#navbar_disabled').parents('tr').prev().hide();
        jQuery('#navbar_disabled').parents('tr').prev().prev().hide();
    }
我相信有一个很快很好的方法来摆脱最后两个“navbar_disabled”,并使用类似“this”之类的东西来代替。我知道我可以使用类似
var-navbar\u checkbox\u disabled=jQuery(“#navbar\u disabled”)
的方法来处理它,但我正在寻找一个更可爱的解决方案,如果有的话。谢谢

更新:我之所以要求使用另一种解决方案,而不仅仅是将其分配给一个新变量,是因为我需要在许多元素上使用它,例如:

jQuery('#company_address_disabled, #sociallinks_disabled, #contacts_mail_disabled, #navbar_disabled')
<tr class='hide_me'><td>prev</td></tr>
<tr class='hide_me'><td>prev</td></tr>
<tr><td><input id="navbar_disabled" /></td></tr>


    if ($('#navbar_disabled').is(':checked')) {
            $('.hide_me').hide();
        }

也许是这样的

$tr = $('#navbar_disabled').parents('tr').prev();
if ($('#navbar_disabled').is(':checked')) {
        $tr.hide();
        $tr.prev().hide();
    }
编辑:

您是否想过在这些元素上添加类!?我想您的代码如下所示:

jQuery('#company_address_disabled, #sociallinks_disabled, #contacts_mail_disabled, #navbar_disabled')
<tr class='hide_me'><td>prev</td></tr>
<tr class='hide_me'><td>prev</td></tr>
<tr><td><input id="navbar_disabled" /></td></tr>


    if ($('#navbar_disabled').is(':checked')) {
            $('.hide_me').hide();
        }
prev
上
如果($(“#导航栏已禁用”)。为(“:已选中”){
$('.hide_me').hide();
}

可能是这样的吧

$tr = $('#navbar_disabled').parents('tr').prev();
if ($('#navbar_disabled').is(':checked')) {
        $tr.hide();
        $tr.prev().hide();
    }
编辑:

您是否想过在这些元素上添加类!?我想您的代码如下所示:

jQuery('#company_address_disabled, #sociallinks_disabled, #contacts_mail_disabled, #navbar_disabled')
<tr class='hide_me'><td>prev</td></tr>
<tr class='hide_me'><td>prev</td></tr>
<tr><td><input id="navbar_disabled" /></td></tr>


    if ($('#navbar_disabled').is(':checked')) {
            $('.hide_me').hide();
        }
prev
上
如果($(“#导航栏已禁用”)。为(“:已选中”){
$('.hide_me').hide();
}

为什么不将其用作过滤器,如果未选中,将使jQuery对象为空:

jQuery('#navbar_disabled:checked').parents('tr').prev().hide().prev().hide();

为什么不将其用作过滤器,如果未选中该过滤器,将使jQuery对象为空:

jQuery('#navbar_disabled:checked').parents('tr').prev().hide().prev().hide();

我知道这个变体,但是如果它存在的话,我在寻找其他的变体。谢谢。我知道这个变体,但是如果它存在的话,我正在寻找其他的。谢谢。哇,你只是一个大师,我相信我永远不会意识到这一点,谢谢。这么可爱,小巧,做我需要的!哇,你只是一个大师,我相信我永远不会意识到这一点,谢谢。这么可爱,小巧,做我需要的!