getElementById возвращает NaN

#javascript #nan #getelementbyid

#javascript #nan #getelementbyid

Вопрос:

Рассмотрим следующий пример фрагмента моего кода. Я пробовал parseInt, но безуспешно. Здесь я хочу, чтобы javascript установил число в ячейке PICweight , а затем извлек его позже и поместил в другую ячейку totalcabin . Вы можете видеть здесь, я хочу установить число как 1, но когда код выполняется, он возвращается NaN totalcabin .

 <td id="PICweight" type="tel"></td>
<script>
    window.onchange = function setfields() {

        document.getElementById("PICweight").innerHTML = 1;
        var PICweight = document.getElementById("PICweight").value;

        var totalcabin = document.getElementById("totalcabin");
        totalcabin.innerHTML =  PICweight
    }
</script>
  

Комментарии:

1. у td нет значений.

Ответ №1:

У элементов нет свойства value td . Когда вы используете .value обычные html-элементы (не входные элементы), вы в конечном итоге получаете undefined . Позже вы используете неявное приведение undefined к числу, что приводит к NaN и вашему последующему наблюдению.

Вы должны использовать .textContent вместо значения, чтобы получить текст внутри элемента td.

 var PICweight = document.getElementById("PICweight").textContent;
  

Комментарии:

1. Это имеет смысл, спасибо!