检查 if 语句中有多少个 div



我正在尝试检查 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').lengthcols是一个长度。这种说法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它不会返回您期望的内容。

最新更新