我有一个特定的问题,我无法使用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是一个版本
答案 0 :(得分:0)
在我看来,#currentStock不会具有data属性或value属性(用于输入),因此js当然返回未定义。现在看来,#currentStock正在文档上设置了innerHTML。已设置为Current Stocks:0
您确实有一个可访问变量currentStock,该变量在document.ready期间定义。您为什么不直接访问它?它将已经有数值。您可以从#currentStock中获得的是在document.ready上生成的html,并且当js变量currentStock中的原始格式可用时,您必须解析其中的数字。