recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - La valeur affichée par js ne correspond pas aux attentes. Je ne la comprends vraiment pas.

var number1 = document.getElementById("queue");
height1 = number1.value+("px");

queue est une zone de saisie, number1.value est sa valeur d'entrée (un nombre), mais la sortie de height1 est toujours px sans aucun nombre.
Par exemple :

console.log(number1.value); //20
console.log(height1);//px

J'ai aussi essayé une méthode

var number1 = document.getElementById("queue");
var number1Value = number1.value;
height1 = number1Value+("px");

C'est encore plus bizarre maintenant,

console.log(number1.value);//20
console.log(number1Value);//
console.log(number1.value.constructor == String);//true

Prouvez que number1.value est une chaîne, alors chaîne plus chaîne devraient être OK

迷茫迷茫2812 Il y a quelques jours669

répondre à tous(3)je répondrai

  • PHPz

    PHPz2017-05-19 10:32:26

    1. Probablement ce que vous comprenez

    <!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. La bonne façon de l'obtenir

    <!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. Une autre façon de surveiller le contenu dans la zone de saisie

    <!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>

    répondre
    0
  • 曾经蜡笔没有小新

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

    Vous l'exécutez lorsque vous ouvrez la page. La fonction n'est exécutée qu'une seule fois. Lorsque vous saisissez à nouveau la valeur, vous n'exécutez pas la méthode, et la première fois la valeur est vide !

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:32:26

    Vous avez besoin d'une fonction de gestion des événements. Lorsque la page vient d'être chargée, la valeur doit être vide car vous n'avez pas écrit de valeur dans l'entrée.
    var height = 0; document .querySelector('#input');
    var btn = document.querySelector('#btn');
    btn.addEventListener('click', function(){

    var value = input.value;
    height = value + 'px';

    }, faux)

    répondre
    0
  • Annulerrépondre