计算页面上的所有表,获取其ID并运行数组

时间:2011-01-15 23:16:05

标签: jquery arrays count

我有一个页面,其中包含许多由php,mysql生成的表格。还有一些我想在每张桌子上运行的jquery。

我认为最好的方法是创建一个表id数组并在foreach中运行jquery。

我不知道怎么做,所以如果有人知道如何做到这一点,我将不胜感激。

编辑///这是我想在每个表上运行的代码

    $("#frontshade:radio").click(function() {
  $(this).parent().children(":checkbox").attr('checked', false);
  $(this)
   .closest('table') // find the parent row
       .find(":input[type='text']") // find text elements in that row
           .attr('disabled','disabled') // disable them
           .removeClass('disabled'); //Toggle class
    $("#frontshade :checkbox").hide();
    $("#frontshade .cbox").hide();

    $(this).parent().children(":checkbox").show();
    $(this).parent().children(".cbox").show();
    });
    $("#frontshade :checkbox").click(function(){
    $(this)
   .closest('tr') // find the parent row
     .find(":input[type='text']") // find text elements in that row
       .toggleDisabled()
       .toggleClass('disabled','slow') // enable them
   .end() // go back to the row
   .siblings() // get its siblings
       .find(":input[type='text']") // find text elements in those rows
           .attr('disabled','disabled')
           .removeClass('disabled'); // disable them
});

5 个答案:

答案 0 :(得分:2)

遍历表并获取其ID,以及执行您想要的任何其他操作:

var table_ids = new Array();
$('table')
    .each(function(e){
        table_ids[] = $(this).attr('id');
        //do other stuff with each table
    });

答案 1 :(得分:1)

$('table').each(function() {
  // do stuff with table
});

或者你的意思是MySQL表?

答案 2 :(得分:1)

您知道,以下代码将实现相同的目标:

jQuery('table').each(function() {
    // your code here
});

the docs.

中的更多详情

答案 3 :(得分:0)

这样的事情应该让你开始,

$('table').each(function(index, table){
    table.find('td').each(function(index, el){
        el.doSomething();
    });
})

答案 4 :(得分:0)

如果您希望表格具有相同的脚本,您还可以在表格中添加一个类并说:

$('table.doIt').each(function ()
{
    // your code here
}

我认为获取所有ID有点尴尬,因为只是在要运行jQuery的表中添加一个类似乎更容易一些。它在JS中花费的成本更少,而在PHP中只增加了一个额外的类。