gpt4 book ai didi

javascript - 将 JQUERY 函数转换为原生 JavaScript

转载 作者:行者123 更新时间:2023-12-03 06:08:00 25 4
gpt4 key购买 nike

我一直在尝试将 JQUERY 函数转换为 JavaScript。我不确定我做错了什么。我用JS重写该函数时返回的值都是0.0。

这是我想要转换为纯 JavaScript 的 JQUERY 代码:

$('#tableID > tbody > tr > td:nth-child(' + starter + ')').each(function () {
getAverage('#tableID > tbody > tr > td:nth-child(' + starter + ')', 'subTotal');
})

基本上我想删除 .each() 并使用原生 JavaScript...

完整代码如下:

var el1 = $('#tableID > thead > tr > th:gt(17):not(.totalRow)');
var x = el1.length;
var starter = 19;
for (i = 0; i < x; i++) {
$('#tableID > tbody > tr > td:nth-child(' + starter + ')').each(function () {
getAverage('#tableID > tbody > tr > td:nth-child(' + starter + ')', 'subTotal');
})
starter += 1;
}

以下是 getAverage 函数,可帮助您了解正在发生的情况:

//average function
function getAverage(a, b) {
var $this, $content, tdTxt, theAvg;
var sum = 0;
var count = 0;
$(a).each(function () {
$this = $(this); // cache $(this)
$content = $this.html();
tdTxt = parseFloat($this.text(), 10) || 0;
if ($this.hasClass(b)) {
theAvg = parseFloat((sum / count), 10) || 0;
$this.text((theAvg).toFixed(2));
sum = 0;
count = 0;
} else {
sum += parseFloat(tdTxt);
if ($content == '') {
}
else {
++count; // this micro-optimization makes it marginally faster
}
}
})
}

最佳答案

ESNext 代码

Array.from(
document
.querySelectorAll('#tableID > tbody > tr > td:nth-child(' + starter + ')')
).forEach(_=> getAverage(
'#tableID > tbody > tr > td:nth-child(' + starter + ')',
'subTotal'
))

关于javascript - 将 JQUERY 函数转换为原生 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39450880/

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