将JQUERY函数转换为原生JavaScript
Convert JQUERY function into native JavaScript
我一直在尝试将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;
}
下面是getaaverage函数来帮助理解正在发生的事情:
//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 code
Array.from(
document
.querySelectorAll('#tableID > tbody > tr > td:nth-child(' + starter + ')')
).forEach(_=> getAverage(
'#tableID > tbody > tr > td:nth-child(' + starter + ')',
'subTotal'
))
相关文章:
- jQuery $.data() 函数的香草替代品:任何原生 JavaScript 替代品
- 使用原生 JavaScript 防止轮播中的气泡
- 如何在原生 JavaScript Promise 中包装 jsonP 回调
- 在原生JavaScript中获取画布中鼠标位置的最现代方法
- 在原生 Javascript 中查找带有类的元素的索引
- 原生 JavaScript JSON.parse 抛出 typeError
- 原生 JavaScript 在调整大小后获取浏览器宽度,然后运行一个函数
- 使用原生 JavaScript 在过渡中获取 CSS 值
- 如何从 React 原生 JavaScript 语法切换到 ES6
- 在原生 JavaScript 中移动棋子
- j查询 |从jQuery到原生javascript
- 原生 JavaScript 函数是否类似于“超全局”?
- 什么是原生JavaScript语法中的$httpProvider.defaults.headers.common
- jQuery在纯原生javascript中的“on”和“off”
- 使用SeleniumWebDriver和原生javascript来衡量性能
- 浏览器对“数字集市”/“伪造”的支持程度如何?lib(原生JavaScript TLS实现)
- 原生javascript中的ISO日期比较
- 原生javascript点击dom元素
- 如何将jquery ajax转换为原生javascript
- 为什么UnderscoreJS有很多原生Javascript函数的包装函数?