这是我的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>
Run Code Online (Sandbox Code Playgroud)
我想要该div的value属性(value ="1").
我这样想:
function overlay()
{
var cookieValue = document.getElementById("demo").value;
alert(cookieValue);
}
Run Code Online (Sandbox Code Playgroud)
但它显示"未定义"如何使用JavaScript获取值1请建议任何解决方案,.
JAA*_*lde 22
DIV没有value 财产.
从技术上讲,根据DTD,它们也不应该有value 属性,但通常你会想要.getAttribute()在这种情况下使用:
function overlay()
{
var cookieValue = document.getElementById('demo').getAttribute('value');
alert(cookieValue);
}
Run Code Online (Sandbox Code Playgroud)
Gui*_*use 10
简而言之,'value'不是div的有效属性.所以返回undefined是绝对正确的.
您可以做的是使用HTML5属性之一'data-*'
<div id="demo" align="center" data-value="1">
Run Code Online (Sandbox Code Playgroud)
脚本将是:
var val = document.getElementById('demo').getAttribute('data-value');
Run Code Online (Sandbox Code Playgroud)
这应该适用于大多数现代浏览器只需记住将您的doctype设置为<!DOCTYPE html>使其有效
正如我在评论中所说,<div>元素没有value属性。尽管(非常)糟糕,但可以通过以下方式访问它:
console.log(document.getElementById('demo').getAttribute);
Run Code Online (Sandbox Code Playgroud)
我建议使用 HTML5data-*属性。像这样的东西:
<div id="demo" data-myValue="1">...</div>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您可以使用以下方法访问它:
element.getAttribute('data-myValue');
//Or using jQuery:
$('#demo').data('myValue');
Run Code Online (Sandbox Code Playgroud)