Heim > Fragen und Antworten > Hauptteil
var number1 = document.getElementById("queue");
height1 = number1.value+("px");
queue ist ein Eingabefeld, number1.value ist sein Eingabewert (eine Zahl), aber die Ausgabe von height1 ist immer px ohne Zahl.
Zum Beispiel:
console.log(number1.value); //20
console.log(height1);//px
Ich habe auch eine Methode ausprobiert
var number1 = document.getElementById("queue");
var number1Value = number1.value;
height1 = number1Value+("px");
Es ist jetzt noch seltsamer,
console.log(number1.value);//20
console.log(number1Value);//
console.log(number1.value.constructor == String);//true
Beweisen Sie, dass number1.value
ein String ist, dann sollte String plus String in Ordnung sein
PHPz2017-05-19 10:32:26
1.大概你理解的意思
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="text" id="input">
</body>
<script>
var val=document.getElementById("input");
var height=val.value+"px";//你这个地方 定义height的时候 val.value并不存在
console.log(height)//px
</script>
</html>
2.正确获取的方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="text" id="input" value="20">
</body>
<script>
var val=document.getElementById("input");
var height=val.value+"px";//你这个地方 定义height的时候 val.value已经存在
console.log(height)//20px
</script>
</html>
3.换一种方式 监控输入框中的内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="text" id="input" onchange="getVal()">
</body>
<script>
var val=document.getElementById("input");
function getVal() {
var height=val.value+"px";
console.log(height)//这种只要input值发生改变 这个地方就会有输出
}
</script>
</html>
仅有的幸福2017-05-19 10:32:26
你需要一个事件处理函数,页面刚加载进来的时候,value一定是空的,因为你还没有在input里写值
var height = 0;
var input = document.querySelector('#input');
var btn = document.querySelector('#btn');
btn.addEventListener('click', function(){
var value = input.value;
height = value + 'px';
}, false)