Почему не работает оператор "+"?

Рейтинг: -1Ответов: 1Опубликовано: 23.07.2023

s51 = document.querySelector(".s51");
s52 = document.querySelector(".s52");
s53 = document.querySelector(".s53");

function t5() {
  if (s52.value === "-") {
    result = s51.value - s53.value;
  } else if (s52.value === "+") {
    result = s51.value + s53.value;
  } else if (s52.value === "/") {
    result = s51.value / s53.value;
  } else if (s52.value === "*") {
    result = s51.value * s53.value;
  }
  console.log(result);
  return result;
}

document.querySelector(".b-5").addEventListener("click", function () {
  document.querySelector(".out-5").textContent = t5();
});
<select class="s51">
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
        </select>
        <select class="s52">
          <option value="-">-</option>
          <option value="+">+</option>
          <option value="/">/</option>
          <option value="*">*</option>
        </select>
        <select class="s53">
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
        </select>
        <button class="button-primary b-5">Task-5</button>
        <div class="out-5">out-5</div>
      </section>

Ответы

▲ 5Принят

Потому что значения из выпадающих списков s51 и s53 берутся как строки, а не числа. Чтобы исправить это, нужно сперва преобразовать значения в числовой тип