【问题标题】:How to hide multiple elements如何隐藏多个元素
【发布时间】:2013-10-03 13:14:08
【问题描述】:

当我按下一个获取复选框值的按钮时,我想隐藏多个元素,如果选中了复选框,它就会隐藏。

我有下一个代码,但它只适用于第一个元素

var checkedInputs = $("input:checked");
var test = "";
$.each(checkedInputs, function(i, val) {
    test += val.value+",";
});
test = test.substring(0,(test.length-1));
$("#numRow"+test).hide('slow'); // it should to hide multiple elements, but just work with the first value

我也尝试过使用数组,但它也不起作用。

var numMsj =[1, 2, 4, 22, 44,90, 100];    
$.each(numMsg, function (ind, elem) { 
    $("#numRow"+elem).hide('slow');
});

【问题讨论】:

    标签: javascript jquery arrays checkbox


    【解决方案1】:

    修改后的解决方案

    你可以把隐藏放在每个循环中:

    var checkedInputs = $("input:checked");
    $.each(checkedInputs, function(i, val) {
        test += val.value+",";
        $(this).hide('slow');
    });
    

    Here is a working example


    单线

    或者如果你根本不需要test 变量,你可以只用一行:

    $("input:checked").hide('slow');
    

    Here is an example on that


    您尝试的问题

    仅供参考,您的第一个示例不起作用的原因是您的选择器最终看起来像这样:

    $("#numRow1,2,4")
    

    这将选择第一个 id 为 numRow1 的元素,然后选择名为 2 和 4 的标签,这些标签将不存在。您可能希望创建如下所示的选择器:

    $("#numRow1,#numRow2,#numRow4")
    

    然而,这只是一个例子,我上面的替代方法是更好的方法。

    您第二次尝试的问题只是numMsj 和numMsg 之间的拼写错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      • 2016-11-08
      • 2014-06-10
      • 1970-01-01
      • 2023-03-22
      • 2020-10-12
      • 1970-01-01
      相关资源
      最近更新 更多