首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解javascript数组

理解javascript数组
EN

Stack Overflow用户
提问于 2014-07-25 00:27:54
回答 5查看 60关注 0票数 0

我对JavaScript相当陌生,我不太清楚下面的代码片段是怎么回事:

代码语言:javascript
复制
if ($(".filter-icon").length == 0)
  return;

因此,我理解if语句,但我不完全理解的部分是$(".filter-icon").length。看完文档之后,我有点糊涂了。$(".filter-icon")是一个怎样的数组?我以为它只是一个与它相关的filter-icon类。你怎么能得到它的长度?

我为这个基本问题道歉,但我对此感到非常困惑,很难用标点符号搜索。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-07-25 00:30:29

$(".filter-icon") -是一个jQuery函数调用。返回的值实际上不是数组,但它有一个length属性。函数调用结果的length是与选择器匹配的DOM中元素数的计数。

代码的目的是检查DOM中是否有任何元素具有类“过滤器-图标”。

在JavaScript编程中,遇到看起来似乎是数组但实际上并非如此的事情并不少见。令人高兴的是,许多针对实际数组的内置函数对于它们将接受的内容相当松散,因此您可以经常使用本机数组函数来对一些对象执行有趣的操作--假装是真正的数组。

票数 3
EN

Stack Overflow用户

发布于 2014-07-25 00:33:00

代码语言:javascript
复制
if ($(".filter-icon").length == 0)
  return;

这将检查具有类为filter-icon的所有元素。如果它找不到任何东西,它将返回计数器。

一个来自jquery网站的例子,用来计算no。divs:

代码语言:javascript
复制
$( document.body )
  .click(function() {
    $( document.body ).append( $( "<div>" ) );
    var n = $( "div" ).length;
    $( "span" ).text( "There are " + n + " divs." +
      "Click to add more.");
  })
票数 0
EN

Stack Overflow用户

发布于 2014-07-25 00:37:48

所有四个答案都是正确的。$(“.filter-图标”)构造为JQuery,在DOM中搜索所有具有class=“filter-图标”属性的元素。它将返回0或多个元素,.length == 0测试将确定是否有匹配项。

本质上说,

如果没有带有class=“过滤器-图标”的HTML标记,那么只需返回。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24946169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档