我正在尝试检查 DOM 中有多少个div。 当我创建一个显示长度的变量时,它会在控制台中给我未定义。但是,当我提醒变量时,它返回值"8"。
我正在尝试编写一个 if 语句以查看有多少div 并显示其输出。但是,我的 if 语句没有返回真正的块。相反,它会去别的。
这是我尝试过的。
<div class="col-lg-2">div1</div>
<div class="col-lg-2">div2</div>
<div class="col-lg-2">div3</div>
<div class="col-lg-2">div4</div>
<div class="col-lg-2">div5</div>
<div class="col-lg-2">div6</div>
<div class="col-lg-2">div7</div>
<div class="col-lg-2">div8</div>
还有我的JavaScript:
var cols = $('.col-lg-2').length;
if(cols.length == 8) {
alert("there are 8 divs");
}
else {
alert("there isn't 8 divs");
}
我不确定我做错了什么,但我希望 if 语句不要转到 else 块。
您尝试获取整数的长度,而不是数组。看,var cols = $('.col-lg-2').length
,cols
是一个长度。这种说法if(cols.length == 8)
是错误的.简单地写if(cols == 8)
.
看起来在第一行中您将长度分配给变量cols
,因此其值为8
。我想你期待成为一个数组,所以你会在第二行调用cols.length
。
您可以将整个数组分配给cols
,因此第一行将是:
cols = $('.col-lg-2');
if(cols.length === 8) {
...
或者,您可以仅将第二行更改为:
if(cols === 8) {
...
因为在第一行中,您说cols
的值是8
,然后在第二行中,您调用8.length
它不会返回您期望的内容。