suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript – Der von js ausgegebene Wert entspricht nicht den Erwartungen. Ich verstehe ihn wirklich nicht.

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

迷茫迷茫2812 Tage vor667

Antworte allen(3)Ich werde antworten

  • PHPz

    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>

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:32:26

    你这是打开页面就执行 函数只执行了一次 当你再次输入值的时候你并没有执行那个方法 而第一次的值是空的!

    Antwort
    0
  • 仅有的幸福

    仅有的幸福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)

    Antwort
    0
  • StornierenAntwort