Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript,如果小于则不工作_Javascript_Jquery_If Statement_Custom Data Attribute - Fatal编程技术网

JavaScript,如果小于则不工作

JavaScript,如果小于则不工作,javascript,jquery,if-statement,custom-data-attribute,Javascript,Jquery,If Statement,Custom Data Attribute,在我的html中,我有以下内容: <div class="boxS" data-catTotal="19"></div> <div class="boxS" data-catTotal="12"></div> <div class="boxS" data-catTotal="4"></div> <div class="boxS" data-catTotal="8"></div> <div cla

在我的html中,我有以下内容:

<div class="boxS" data-catTotal="19"></div>
<div class="boxS" data-catTotal="12"></div>
<div class="boxS" data-catTotal="4"></div>
<div class="boxS" data-catTotal="8"></div>
<div class="boxS" data-catTotal="4"></div>
<div class="boxS" data-catTotal="1"></div>

我的JavaScript如下所示:

var sizeBoxMax = null;
var sizeNew;
$(".boxS").each(function(){

    var sizeBox = $(this).attr("data-catTotal");
    alert($(this).attr("data-namez") + " " + sizeBox + " " + sizeBoxMax);

    if (sizeBox < sizeBoxMax) {
        sizeNew = (sizeBox / sizeBoxMax) * 100;
        sizeNew = Math.ceil(sizeNew.toFixed(0));
        $(this).attr("style", "width: " + sizeNew + "% !important");
    }

    else {
        if (sizeBoxMax == null) {
            sizeBoxMax = $(this).attr("data-catTotal");
        }
        // alert($(this).attr("data-namez") +" "+ sizeBox);
    }

});
var sizeBoxMax=null;
var sizeNew;
$(“.boxS”)。每个(函数(){
var sizeBox=$(this.attr(“数据总计”);
警报($(this.attr(“数据名称”)+“”+sizeBox+“”+sizeBoxMax);
if(sizeBox

问题是,
if
语句没有被访问,即使
sizeBoxMax
始终为19。发生的情况是,
19
12
1
工作正常,但其余部分不受影响。我能做些什么?我尝试了
parseInt()
,但是我得到了
NaN
。任何帮助都将不胜感激!谢谢

需要将
sizeBoxMax
初始值设置为
整数
而不是
null


当使用int值时,您可以在中看到结果。

需要将
sizeBoxMax
初始值设置为
整数,而不是
null

当使用int值时,您可以看到在中工作的结果。

此外,您应该使用方法

每次尝试都会将字符串转换为JavaScript值(包括布尔值、数字、对象、数组和null)。只有在不改变值的表示形式的情况下,才会将值转换为数字。例如,“1E02”和“100.000”等同于数字(数值100),但转换它们会改变它们的表示形式,使它们保留为字符串。字符串值“100”被转换为数字100

除此之外,你应该使用的方法

每次尝试都会将字符串转换为JavaScript值(包括布尔值、数字、对象、数组和null)。只有在不改变值的表示形式的情况下,才会将值转换为数字。例如,“1E02”和“100.000”等同于数字(数值100),但转换它们会改变它们的表示形式,使它们保留为字符串。字符串值“100”被转换为数字100


为什么不问问我们你到底想做什么;将所有元素的宽度设置为某个值等。可能有更简单的方法。如果使用
Number()
而不是
parseInt()
,这会有区别吗?在比较之前,请尝试在sizeBoxMax上检查null。。。为什么不问问我们你到底想做什么;将所有元素的宽度设置为某个值等。可能有更简单的方法。如果使用
Number()
而不是
parseInt()
,这会有区别吗?在比较之前,请尝试在sizeBoxMax上检查null。。。或者是的,初始化为一个数值!太好了,非常感谢你,成功了!只是需要进行初始化吗?因为我需要遍历所有的类
,然后找到哪个
数据-
的值最大,这就是
sizeBoxMax的值。它需要是动态的,我是否可以将它设置为
0
,并且它可以正常工作,就像在先输入else语句中一样?或者是,将init设置为一个数值!太好了,非常感谢你,成功了!只是需要进行初始化吗?因为我需要遍历所有的类
,然后找到哪个
数据-
的值最大,这就是
sizeBoxMax的值。它需要是动态的,我是否可以将它设置为
0
,并且它可以正常工作,就像在先输入else语句中一样?我遇到了.data()的引用问题。.data()get被缓存,在第二次调用时无法正确更新变量,但我可能使用了错误的(或类似的东西)同样的东西,我尝试使用
.data()
,但它不起作用,因此我不得不悲哀地求助于
.attr()
。请确保不要将前缀用于数据,例如
data where=“/code>=
”数据(“无论如何”)
。我遇到了.data()的引用问题。缓存了.data()get,第二次调用时没有正确更新变量,但我可能使用了错误的变量(或类似的东西)。我尝试使用
.data()
,但它不起作用,所以我不得不悲伤地求助于
.attr()
。请确保不要将前缀与数据一起使用,例如
data whatever=”“
=
.data(“whatever”)
var sizeBox = $(this).data("catTotal");
sizeBoxMax = $(this).data("catTotal");