Я пытаюсь преобразовать функцию JQUERY в JavaScript. Я не уверен, что я делаю неправильно. Значения, возвращаемые, когда я переписал функцию в JS, возвращают 0.0.Преобразование функции JQUERY в родной JavaScript
Вот код JQuery Я хотел, чтобы преобразовать в чистом JavaScript:
$('#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
}
}
})
}
Вы не можете использовать $. ('Тег') искателя в Javascript .. Это функция JQuery –
* Почему * Вы хотите, чтобы не использовать JQuery? Тем более, что '$()' является конструктором jquery? –
Вы хотите использовать [querySelector] (https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector), установленный в '$ (selector)'. – jtrumbull