无法使用javascript获取var的数量

时间:2019-03-22 01:41:49

标签: javascript jquery html

我有一个特定的问题,我无法使用JavaScript获取HTML文件中“ currentStock” var数据的数值。我在HTML文件中的脚本标签中有此标签:

顺便说一句,由于HTML太大,而且它本来不是我的脚本,但是从一个朋友那里寻求帮助以添加一些功能时,我无法将整个脚本上传为将会太长。整个HTML脚本有14076个字符,共289行。

我只学习过Java,没有研究过HTML的javascript,因此我需要有关这一方面的帮助。

<script>


    window.onload = function() {

        var goDown = document.getElementById('uniqueNav');
        var goRight = document.querySelector('.clothesNav');
        var goUp = document.querySelector('.shrink');

        goDown.style.marginTop = "0px";
        goRight.style.marginLeft = "5px";
        goUp.style.height = "0px";

    }        

    $('document').ready(function(){

        var name = "Ombre Printed Shirt";
        var price = "P499.00";

        var initialStock = 0;
        var currentStock = initialStock;

        document.querySelector('#clothTitle').innerHTML = "" +name;
        document.querySelector('#clothPrice').innerHTML = "Price: " +price;
        document.querySelector('#PITitle').innerHTML = "" +name;
        document.querySelector('#PIPrice').innerHTML = "Price: " +price;

        document.querySelector('#currentStock').innerHTML = "CurrentStocks: " +currentStock;

    }); //------------------------Change This Every Document ----------------------------//

</script>

然后在我的JavaScript文件中

var cStocks = document.getElementById('currentStock').data;
        alert(typeof cStocks);
        alert("Data in cStocks = " + cStocks);
        if (!cStocks) {cStocks = 0; alert("cStocks, not a valid number");}
        if ((cStocks <= 0) == true)
        {
            document.querySelector('.clothButton').style.display='none';
            document.querySelector('.clothButtonDisabled').style.display='flex';
        }
        else
        {
            document.querySelector('.clothButton').style.display='flex';
            document.querySelector('.clothButtonDisabled').style.display='none';
        }

在加载页面时,警报提示数据类型未定义。我不知道我的代码发生了什么。我错过了什么吗?

顺便说一下,我的HTML页面上有JQuery。它说JQuery v3.3.1是一个版本

1 个答案:

答案 0 :(得分:0)

在我看来,#currentStock不会具有data属性或value属性(用于输入),因此js当然返回未定义。现在看来,#currentStock正在文档上设置了innerHTML。已设置为Current Stocks:0

您确实有一个可访问变量currentStock,该变量在document.ready期间定义。您为什么不直接访问它?它将已经有数值。您可以从#currentStock中获得的是在document.ready上生成的html,并且当js变量currentStock中的原始格式可用时,您必须解析其中的数字。