Javascript - 在尝试获取HTML中明确说明的元素值时获取未定义

时间:2016-03-27 05:55:06

标签: javascript html

我尝试使用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);
}

我得到的控制台日志:

log image

谁能告诉我为什么会这样?我必须做些什么才能在我的控制台日志中获取未定义的值但是B1或B2?

2 个答案:

答案 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);
}