今天世界杯开始了,想起了四年前的大学时,寝室人一起看世界杯,一起看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 width: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"的元素个数。
一个空格,完全不一样的结果,在前段敲代码,可能一个不小心碰到了空格键,造成的这些细微的差别却让我们很难找出来。