Как получить значение div с помощью javascript
Это мой div:
<div id="demo" align="center" value="1">
<h3>By Color</h3>
<input type="radio" name="group1" id="color1" value="#990000" onClick="changeColor()"/><label for="color1">Red</label>
<input type="radio" name="group1" id="color2" value="#009900" onClick="changeColor()"/><label for="color2">Green</label>
<input type="radio" name="group1" id="color3" value="#FFFF00" onClick="changeColor()" /><label for="color3">Yellow</label><br><br><br>
</div>
Мне нужен атрибут value этого div (value = "1" ).
Я пробую вот так:
function overlay()
{
var cookieValue = document.getElementById("demo").value;
alert(cookieValue);
}
но он показывает "Undefined", как получить значение 1 с помощью javascript, предложите любое решение,
Ответы
Ответ 1
DIV
не имеют свойства value
.
Технически, согласно DTD, они не должны иметь атрибут value
, но обычно вы хотите использовать .getAttribute()
в этом случае:
function overlay()
{
var cookieValue = document.getElementById('demo').getAttribute('value');
alert(cookieValue);
}
Ответ 2
Короче говоря, значение "value" не является допустимым атрибутом div.
Поэтому абсолютно правильно возвращать undefined.
Что вы могли бы сделать, это что-то в строке использования одной из данных атрибутов HTML5 - * '
<div id="demo" align="center" data-value="1">
И script будет:
var val = document.getElementById('demo').getAttribute('data-value');
Это должно работать в большинстве современных браузеров
Не забудьте поставить ваш doctype как <!DOCTYPE html>
, чтобы он был достоверным
Ответ 3
Как я уже сказал в комментариях, элемент <div>
не имеет атрибута value
. Хотя (очень) плохо, к нему можно получить доступ:
console.log(document.getElementById('demo').getAttribute);
Я предлагаю использовать атрибуты HTML5 data-*
. Что-то вроде этого:
<div id="demo" data-myValue="1">...</div>
в этом случае вы можете получить к нему доступ, используя:
element.getAttribute('data-myValue');
//Or using jQuery:
$('#demo').data('myValue');
Ответ 4
Прежде всего
<div id="demo" align="center" value="1"></div>
который не является действительным HTML. Прочитайте атрибуты пользовательских данных или используйте вместо них следующее:
<div id="demo" align="center" data-value="1"></div>
Так как "data-value" является атрибутом, вы должны использовать функцию getAttribute, чтобы получить его значение.
var cookieValue = document.getElementById("demo").getAttribute("data-value");
Ответ 5
Вы можете попробовать следующее:
var theValue = document.getElementById("demo").getAttribute("value");
Ответ 6
Значение не является допустимым атрибутом DIV
попробуйте это
var divElement = document.getElementById('demo');
alert( divElement .getAttribute('value'));