Почему условие неправильно проходит проверку

Подскажите пожалуйста, почему если поставить два блока то условие не проходит проверку? Первый проходит правильно, второй всегда проходит под тем что он больше минимального балла, хотя там там стоит число меньше и через консоль показывает что меньше

(function () {
    var testResultsSvg = document.querySelectorAll('.js-test-result-svg')

    if( testResultsSvg.length <1) {
        return
    }

    testResultsSvg.forEach(function (testResultSvg){
        var testResultColumns = testResultSvg.querySelectorAll('.test-result-column')

        var mainElement = testResultSvg.closest('.test-result')

        var testCurrent = mainElement.querySelector('.js-test-result-current').innerHTML

        var testMinimum = mainElement.querySelector('.js-test-result-minimum').innerHTML

        var testPossible = mainElement.querySelector('.js-test-result-possible').innerHTML

        console.log(testCurrent , testMinimum , testPossible)

        if(testCurrent < testMinimum) {
            console.log('less')
            testResultSvg.classList.add('test-result-svg-red')
        } else if (testCurrent >= testMinimum) {
            console.log('more', testCurrent, testMinimum)
            testResultSvg.classList.add('test-result-svg-green')
        }

        var testLevel =  (testCurrent*100) / testPossible

        testLevel = Math.floor((14 * testLevel) / 100)

        for (var i = 0; i < testLevel; i++) {
            testResultColumns[i].style.opacity = 1
        }
    })
})();

Ответы (1 шт):

Автор решения: Zhihar

уточните, что за блоки?

второй блок у вас всегда выполняется, потому что он строго НЕ первый блок, может вам надо

if (testCurrent < testMinimum)  {} else if (testCurrent > testMinimum)  {} else {}, 

а у вас (testCurrent >= testMinimum)

Ну и конечно перед сравниванием - переведите текст в числа

const testCurrent = parseInt(mainElement.querySelector('.js-test-result-current').innerHTML)
→ Ссылка