隐藏td元素取决于th的类

时间:2016-08-26 13:57:59

标签: jquery html css

我一直在搜索论坛,但无法找到解决我挑剔问题的方法。

我有一张表,我是以编程方式构建的。首先构建<thead>元素,一些<th>元素将具有某个类。然后构建<tbody>,我希望隐藏在<td>列的<th>列下的<th>元素。 (当然我也会把$(document).ready(function() { $('.qty').change(function() { update_amounts(); }); update_amounts(); //<--- must to be executed on document.ready() }); function update_amounts() { var sum = 0.0; $('#myTable > tbody > tr').each(function() { var qty = $(this).find('option:selected').val(); var price = $(this).find('.price').val(); var amount = (qty*price) sum+=amount; $(this).find('.amount').text(''+amount); }); //calculate the total to sum $('.total').val(sum); //calculate total + shipping and add VAT var shipping = $('.shipping').val(); var total = $('.total').val(); var vat = $('.vat').val(); //calculate vat var vat_value = ((total*vat)/100); //calculate grand total sub_total = (parseFloat(total)+parseFloat(shipping)).toFixed(2); var grand_total = (parseFloat(sub_total)+parseFloat(vat_value)).toFixed(2); $('.grandTotal').val(grand_total); $('.modalTotal').val(grand_total); } 隐藏在课堂上。)

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

使用jQuery,这样的事情怎么样?

jQuery("th").each(function() {
    if ($(this).hasClass("foo")) {
        th_with_class.push(nth_column);
    }
    nth_column++;
});

获取<th>某个班级:

<tds>

然后,隐藏for (i; i<th_with_class.length; i++) { nth_column=th_with_class[i]; $("tr > *:nth-child("+nth_column+")").addClass("hidden"); } _innerHandler.Protected() .Setup<Task<HttpResponseMessage>>("SendAsync", It.IsAny<HttpRequestMessage>(), It.IsAny<CancellationToken>()) .ReturnsAsync(responseMessage);

ItExpr.IsNull<TValue>

答案 1 :(得分:0)

首先创建一个具有display:none属性的表格模板。

<table id="tempTable" style="display:none">
    <thead>
        <tr>
            <th class="hideClass"></th>
            <th></th>
            <th class="hideClass"></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td class="hideClass firstTd"></td>
            <td class="secondTd"></td>
            <td class="hideClass"></td>
        </tr>
    </tbody>
</table>
<div id="tableContainer">

</div>

之后用.clone()克隆此表。从元素中删除Iddisplay:none。将数据添加到表中的特定位置,并将表附加到div。

var tableElem = $('#tempTable').clone();
tableElem.attr('id', '');
tableElem.css('display', 'block');

//Add your data to specific element like;
tableElem.find('tbody .firstTd').text('Your text');

//After adding data to table append it to div or wherever you want
$('#tableContainer').append(tableElem);

这是创建表格的最佳方式。这很简单,你知道你在创建什么,因为有一个模板。 希望这会有所帮助。

答案 2 :(得分:0)

如果您隐藏第3列,可以将.hidden课程添加到th:nth-child(3), td:nth-child(3)

在你的CSS中你会有

.hidden{
    display : none;
}