隐藏表中的所有复选框不起作用

时间:2011-01-16 02:01:41

标签: jquery loops hide

我的jquery循环遍历所有表

我想使用class =“cbox”隐藏所有跨度以及当前表中的所有复选框 但我的代码不起作用。

     var table_ids = new Array();
    $('.sizetable')
   .each(function(e){
    tableid = $(this).attr('id');


    //$msg = tableid;
    //alert($msg); This alerts the correct id 
    $( "#" + tableid + " .cbox").hide();
    $( "#" + tableid + " input:checkbox").hide();

     };

这是jsfiddle http://www.jsfiddle.net/tommyd/Br42j/

2 个答案:

答案 0 :(得分:2)

存在语法错误,您缺少关闭')'。 所以将代码更改为:

var table_ids = new Array();
$('.sizetable').each(function(e){
    tableid = $(this).attr('id');
    //$msg = tableid;
    //alert($msg); This alerts the correct id 
    $( "#" + tableid + " .cbox").hide();
    $( "#" + tableid + " input:checkbox").hide();

});

检查下面的代码(更改选择器使其快一点):

var table_ids = new Array();
$('.sizetable span.cbox, .sizetable input:checkbox').hide();

编辑:在fiddle.net http://www.jsfiddle.net/Br42j/7/查看此帖子,我将sizetable类添加到表中并添加了缺失的内容 对于优化版本,请检查: http://www.jsfiddle.net/Br42j/8/

答案 1 :(得分:1)

只需使用$('.sizetable .cbox, .sizetable input:checkbox').hide()即可。按ID选择更快,但您已经按类选择获取ID,也可以从那里开始隐藏所有.cboxinput:checkbox