在表中使用相同的类元素

时间:2012-09-04 19:25:16

标签: jquery html-table

如果类匹配,我想将th的宽度设置为与tbody td相同。我试过这个,但它似乎不起作用:

$("#table th").each(function(i){
    var ClassName = $(this).attr('class');
    $(this).width( $("#table tbody td" + ClassName).outerWidth(true));
});

2 个答案:

答案 0 :(得分:4)

这不是你如何生成类选择器。这是:

$("#table th").each(function(i){
    var ClassName = $(this).attr('class');

    // replace spaces with '.'s
    var classSelector = '.' + ClassName.replace(' ', '.');
    $(this).width( $("#table tbody td" + classSelector).outerWidth(true));
});

答案 1 :(得分:1)

将您的代码更改为:

$("#table th").each(function(i){
    var ClassName = $(this).attr('class');
    $(this).width( $("#table tbody td[class*=" + ClassName + "]").outerWidth(true));
});

你需要'。'用于类选择器。

另请注意,attr('class')会返回所有应用的类,这些类可能不止一个,因此您需要为每个类添加前缀'。'