#javascript #html
#язык JavaScript #HTML
Вопрос:
Я создаю веб — сайт с продуктами и системой корзин. По сути, цены на все товары отображаются с использованием идентификатора «цена» в теге, при этом цена представляет собой текст, отображаемый пользователю. При добавлении товара в корзину код ищет id="price"
внутреннюю часть тега и впоследствии добавляет цену, указанную в этой строке.
Например, обычная строка цены считывается lt;h2 id="price"gt;$8.99lt;/h2gt;
, и функция, собирающая ее, использует var price = document.getElementById('price')
ее для извлечения информации. Это отлично работает.
однако
Я добавляю новый продукт с несколькими вариантами, и в зависимости от варианта цена обновляется. У меня есть работающая система, чтобы показывать зрителю обновленную цену в зависимости от их варианта, но для этого используется тег, потому что он отображается с помощью Javascript и нуждается в обновлении.
Строка, отображающая цену для зрителя, выглядит следующим образом:
lt;input type="text" id="price" value="24.99" /readonly=""gt;
Я почти уверен, что, поскольку цена отображается внутри тега, внутри значения, корзина js не знает, где ее искать, и поэтому не вернет цену.
Есть ли способ, которым я могу document.getElementById('price')
получить значение, показанное внутри lt;inputgt;
?
P.S. Я никогда официально не изучал JS, поэтому понятия не имею, что я делаю… Я в основном полагался на переполнение стека. Извини, если я кажусь идиотом.
Комментарии:
1.
lt;input type="text" id="price" value="24.99" /readonly=""gt;
должно бытьlt;input type="text" id="price" value="24.99" readonly=""gt;
илиlt;input type="text" id="price" value="24.99" readonly="" /gt;
2. У вас может быть только один элемент
id="price"
. Если вам нужно значение входных данных, попросите его:document.getElementById('price').value
. Для анh1
это должно было бы бытьdocument.getElementById('price').textContent
.