gpt4 book ai didi

javascript - 两个数字的百分比并在另一个 td 中显示最终结果

转载 作者:行者123 更新时间:2023-11-28 17:47:47 26 4
gpt4 key购买 nike

我有一个由 tr 和 tds 组成的表格,我在第三个 td 中显示售出门票的百分比。这段代码的问题是它在每个百分比后生成一个零,我认为它是针对 br 标签的。我应该怎么办 ?这是我的片段:

$('table tbody tr').each(function() {
var $this = this,
td2Value = $('td:nth-child(2)', $this)
.html()
.trim()
.split(/\D+/);
$('span.result', $this).html(
$('td:nth-child(1)', $this)
.html()
.trim()
.split(/\D+/)
.map(function(v, i) {
return Math.round((td2Value[i] * 100 / v) || 0);
})
.join('<br>'));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
<thead>
<tr>
<th>Avalable</th>
<!--available-->
<th>Sold</th>
<!--used-->
<th>Result</th>
</tr>
</thead>
<tr>
<td>30 <br/></td>
<!--available-->
<td>4 <br/></td>
<!--used-->
<td><span class="result"></span></td>
</tr>

<tr>
<td>20 <br/> 20 <br/></td>
<!--available-->
<td>6 <br/> 5 <br/></td>
<!--used-->
<td><span class="result"></span></td>
</tr>
</table>

最佳答案

问题是因为您使用的是 html(),因此在输出中添加了一行额外的行,然后在计算中对其进行评估。使用 text() 代替:

$('table tbody tr').each(function() {
var $this = $(this),
td1Value = $this.find('td:nth-child(1)').text().trim().split(/\D+/),
td2Value = $this.find('td:nth-child(2)').text().trim().split(/\D+/);

$this.find('span.result').html(td1Value.map(function(v, i) {
return Math.round((td2Value[i] * 100 / v) || 0) + '%';
}).join('<br>'));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
<thead>
<tr>
<th>Avalable</th>
<th>Sold</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td>30 <br/></td>
<td>4 <br/></td>
<td><span class="result"></span></td>
</tr>
<tr>
<td>20 <br/> 20 <br/></td>
<td>6 <br/> 5 <br/></td>
<td><span class="result"></span></td>
</tr>
</table>

请注意,我也整理了你的逻辑。

关于javascript - 两个数字的百分比并在另一个 td 中显示最终结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46298150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com