我对JavaScript相当陌生,我不太清楚下面的代码片段是怎么回事:
if ($(".filter-icon").length == 0)
return;因此,我理解if语句,但我不完全理解的部分是$(".filter-icon").length。看完文档之后,我有点糊涂了。$(".filter-icon")是一个怎样的数组?我以为它只是一个与它相关的filter-icon类。你怎么能得到它的长度?
我为这个基本问题道歉,但我对此感到非常困惑,很难用标点符号搜索。
发布于 2014-07-25 00:30:29
$(".filter-icon") -是一个jQuery函数调用。返回的值实际上不是数组,但它有一个length属性。函数调用结果的length是与选择器匹配的DOM中元素数的计数。
代码的目的是检查DOM中是否有任何元素具有类“过滤器-图标”。
在JavaScript编程中,遇到看起来似乎是数组但实际上并非如此的事情并不少见。令人高兴的是,许多针对实际数组的内置函数对于它们将接受的内容相当松散,因此您可以经常使用本机数组函数来对一些对象执行有趣的操作--假装是真正的数组。
发布于 2014-07-25 00:33:00
if ($(".filter-icon").length == 0)
return;这将检查具有类为filter-icon的所有元素。如果它找不到任何东西,它将返回计数器。
一个来自jquery网站的例子,用来计算no。divs:
$( document.body )
.click(function() {
$( document.body ).append( $( "<div>" ) );
var n = $( "div" ).length;
$( "span" ).text( "There are " + n + " divs." +
"Click to add more.");
})发布于 2014-07-25 00:37:48
所有四个答案都是正确的。$(“.filter-图标”)构造为JQuery,在DOM中搜索所有具有class=“filter-图标”属性的元素。它将返回0或多个元素,.length == 0测试将确定是否有匹配项。
本质上说,
如果没有带有class=“过滤器-图标”的HTML标记,那么只需返回。
https://stackoverflow.com/questions/24946169
复制相似问题