gpt4 book ai didi

javascript - 克隆表并过滤掉行

转载 作者:行者123 更新时间:2023-11-28 15:16:50 25 4
gpt4 key购买 nike

您好,我有一个关于克隆表的问题。

我想过滤掉一些特定的结果并输出这些结果。让我用 HTML 代码更好地解释一下:

<table class="table table-striped" id="ProfileList2">
<tbody>
<tr>
<td>21</td>
<td>2014-02-28 21:12:12</td>
<td>20</td>
<td>one</td>
<td>166</td>
</tr>
<tr>
<td>22</td>
<td>2014-03-01 14:04:35</td>
<td>20</td>
<td>one</td>
<td>0</td>
</tr>
<tr>
<td>23</td>
<td>2014-03-03 15:22:56</td>
<td>20</td>
<td>one</td>
<td>21</td>
</tr>
<tr>
<td>24</td>
<td>2014-03-03 17:15:56</td>
<td>20</td>
<td>one</td>
<td>21</td>
</tr>
<tr>
<td>25</td>
<td>2014-03-03 17:50:49</td>
<td>20</td>
<td>one</td>
<td>0</td>
</tr>
<tr>
<td>26</td>
<td>2014-03-05 17:33:42</td>
<td>20</td>
<td>one</td>
<td>24</td>
</tr>
</tbody>
</table>

<p class="result"></p>

在我的 Javascript 中,我想过滤掉最后 <td> 内的所有结果。或每个<tr>值 0。

var $mainTable = $("#ProfileList2");
var $training = $mainTable.clone("tr td:nth-child(5):not(:contains('0'))");

$('p').append($training);

此代码将克隆直接副本,而不进行任何过滤。如果我更改 clone函数,例如:find函数,它只会返回表数据:166 21 21 24。

是否有任何函数可以返回整个表行而不是仅返回表数据?

JSFIDDLE OVER HERE

最佳答案

要抓取表格行,请更改以下内容:

$mainTable.find("tr td:nth-child(5):not(:contains('0'))")

…对此:

$mainTable.find("tr td:nth-child(5):not(:contains('0'))").parent()

另请注意,根据规范,paragraph 元素不能包含 table 元素。 (尽管大多数浏览器允许。)将其更改为 div 会更好。

Fiddle 1

<小时/>另请注意,包含选择器将在单元格内搜索 0,因此它将匹配包含“160”以及包含“0”的单元格。

相反,您可以过滤以仅排除等于“0”的单元格:

$mainTable
.find("tr td:nth-child(5)")
.filter(function() {return $(this).text() != '0';})
.parent();

Fiddle 2

关于javascript - 克隆表并过滤掉行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33503183/

25 4 0
文章推荐: html - 如何让文本在
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com