我有一个数据表到html页面,我想从tfoot获取值,但我有时输入按钮。所以,我感谢检查来自tfoot表的th
是否包含输入按钮,然后跳过tr
,而不是获取值。我的jQuery代码不起作用,因为我认为每行都有一个按钮(tr
)。
我的数据表:
<tfoot>
<tr>
<th></th>
<th>Total</th>
<th>20 420</th>
<th>17 306</th>
<th>3 114</th>
<th>15.25</th>
</tr>
<tr>
<th align="left" colspan="10">
With :
<button type="button" class="btn btn-small"><i class=" icon-signal"></i> graph</button>
</th>
</tr>
</tfoot>
我的jquery代码:
// Get table footer data
$("#myTable tfoot tr").map(function() {
footer = [];
if($(this).find('input[type="button"]').length != 0){
$(this).find('th').each(function() {
var text = $(this).text().trim();
if(text != "") footer.push(text);
});
footers.push(footer);
}
});
答案 0 :(得分:1)
您是否考虑过使用has()方法
用法如下:
var hasButton = $("th").has("button").length ? true : false;
<强>更新强>:
将这个添加到你的map()方法之上,它会将一个类添加到有一个子按钮的TR:
$(".btn-small").parents("tr").addClass("has-button");
然后你在地图方法中检查TR是否没有 .has-button 类
// add .has-button class to all TR parents of the .btn-small button
$(".btn-small").parents("tr").addClass("has-button");
// use map() to selct #myTable tfoot tr that dont have has-button class
$("#myTable tfoot tr").not(".has-button").map(function() {
footer = [];
if($(this).find('input[type="button"]').length != 0){
$(this).find('th').each(function() {
var text = $(this).text().trim();
if(text != "") footer.push(text);
});
footers.push(footer);
}
});
注意我是如何使用 not()方法排除那个具有该类$(“#myTable tfoot tr”)的TR。不是(“。has-button”)
获取属性类中的最后一个类,试试这个:
var lastClass = $('#myTable tfoot tr button').attr('class').split(' ').pop();
pop 将获取数组中的最后一项
有帮助吗?