一个空格的区别

  今天世界杯开始了,想起了四年前的大学时,寝室人一起看世界杯,一起看NBA,真好!一转眼,毕业都一年了。

  毕业一年,陆陆续续看了几本jQuery的书。回想自己这段时间,一直忙,却不知道忙什么,公司的系统要升级,自己去了框架组。发现系统好多兼容问题,自认为自己的javascript不是很好,所以重新又翻了了一下jQuery。现在闲下来了,想当做记笔记一样,记下自己前段看的东西。

  记得之前同事些了段js代码,但是怎么就得不到想要的结果,让帮忙看一下,看了一下代码,逻辑没什么错误,直接怀疑输入法,看了一下,将 ‘-’ 换成英文的 ‘-‘ ,这两种输入法的 ‘-’ 用肉眼是看不出区别的。所以,在写js码的时候,要格外小心。今天,写下一个空格的区别。

  首先,这篇先说一下DOM的选择器。一个空格的区别。

  先贴html代码:

 1 <body>
 2     <form id="form" runat="server">
 3     <div id="divOne">
 4         <div style="display:none;"></div>
 5         <div style="display:none;"></div>
 6         <div style="display:none;" class="space"></div>
 7     </div>
 8     <div style="display:none;" class="space"></div>
 9         <input type="button" style="background-color:#ffd800;" value="确定" onclick="compare();" />
10     </form>
11 </body>

贴一下事件处理代码

 1 <script src="../Scripts/jquery-1.7.1.js"></script>
 2     <style type="text/css">
 3         .space{
 4             background-color:#d0f7f2;
 5             200px;
 6             height:200px;
 7         }
 8     </style>
 9     <script type="text/javascript">
10         function compare() {
11             var longth_1 = $('.space :hidden').length;
12             var longth_2 = $(".space:hidden").length;
13             alert("元素个数分别为:" + longth_1 + "-" + longth_2);
14         }
15     </script>

  点击按钮,显示两个长度却不同,运行结果:

  

  仔细分析,long_1是class为"space"的元素里面为隐藏的元素的个数,而long_2是过滤是隐藏且class为"space"的元素个数。

  一个空格,完全不一样的结果,在前段敲代码,可能一个不小心碰到了空格键,造成的这些细微的差别却让我们很难找出来。

原文地址:https://www.cnblogs.com/muyixiaoguang/p/3787678.html