我尝试使用javascript制作简单的html来学习HTML。但是当我在浏览器中运行html时,它在尝试获取Button 1和Button 2值时在控制台日志中返回undefined。
HTML:
<!DOCTYPE html>
<html>
<script src="js/Try.js"></script>
<head>
<title>Try</title>
</head>
<body>
<div class="wrapper">
<div>
<a type="button" id="Button1" href="#" value="B1" onmouseover="PutValueLog(this)">Button 1</a>
<a type="button" id="Button2" href="#" value="B2" onmouseover="PutValueLog(this)">Button 2</a>
</div>
</div>
</body>
</html>
使用Javascript:
var tempval;
function PutValueLog(button){
tempval = button.value;
console.log(button);
console.log(tempval);
}
我得到的控制台日志:
谁能告诉我为什么会这样?我必须做些什么才能在我的控制台日志中获取未定义的值但是B1或B2?
答案 0 :(得分:2)
您有一个a
代码,而不是input
。因此,您无法使用value
来获取锚标记的值。使用.getAttribute()
函数获取属性的值。
var tempval;
function PutValueLog(button){
debugger;
tempval = button.getAttribute('value');
//console.log(button);
alert(tempval);
}
<div class="wrapper">
<div>
<a type="button" id="Button1" href="#" value="B1" onmouseover="PutValueLog(this)">Button 1</a>
<a type="button" id="Button2" href="#" value="B2" onmouseover="PutValueLog(this)">Button 2</a>
</div>
</div>
答案 1 :(得分:0)
修改您的代码如下:
var tempval;
function PutValueLog(button){
tempval = button.getAttribute("value"); //value is not a defined property of an anchor
console.log(button);
console.log(tempval);
}