博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery选择器中空格的问题再探究
阅读量:6874 次
发布时间:2019-06-26

本文共 1238 字,大约阅读时间需要 4 分钟。

jQuery选择器的空格问题,看似很小,但是差之毫厘谬以千里,让人很是恼火,《锋利的jQuery》书中有个经典的例子,我这里也拷贝下来,再加点自己的想法

 

<html>  

    <head>  

        <title>选择器空格的问题</title>  

        <script type="text/javascript" src="jquery-1.3.1.js"></script>  

        <script type="text/javascript">  

               $(function()  

               {  

                    alert("带空格的选择器的长度是:"+$(".test   :hidden").length);  

                    alert("不带空格的选择器的长度是:"+$(".test:hidden").length);  

               });  

         </script>  

    </head>  

    <body>  

        <div class="test">  

            <div style="display:none;">我是内部div</div>  

            <div style="display:none;">我是内部div</div>  

            <div style="display:none;">我是内部div</div>  

            <div class="test" style="display:none;">我是内部div</div>  

        </div>  

        <div class="test" style="display:none;">我是外部div</div>  

        <div class="test" style="display:none;">我是外部div</div>  

    </body>  

</html>  

对于上边的这两行来说:

“alert("带空格的选择器的长度是:"+$(".test    :hidden").length);”的弹出结果为4

“alert("不带空格的选择器的长度是:"+$(".test:hidden").length);”的弹出结果为3

对于过滤选择器加上了空格的来说,它所获取的是其子元素的过滤,所以上边的例子是选取class为test的元素的子元素的隐藏元素。

而对于过滤选择器没有加上空格的来说,它所获取的是其自身元素的过滤,所以上边的例子选取隐藏的class为test的元素。

 

其实在表单选择器中也有这种情况:

表单对象属性过滤选择器深究:

#form1 :text   <=== >  input:text  

前面有空格,后面没空格,按照上面红色两行的推理也可以成立,假设这里只有一个表单,#form1是form标签的id,那么它后面的 :text就要加空格,因为是选择它的子元素

而input:text中间就不能有标签,因为选择的就是它本身的属性

所以空格问题看似没有规律,其实是有迹可循的,jQuery选择器的规律和CSS一脉相承,所以学好了CSS的选择器,jQuery也不在话下!

 

转载于:https://www.cnblogs.com/propheterLiu/p/5886570.html

你可能感兴趣的文章
java课堂笔记第八次414
查看>>
[洛谷P5174]圆点
查看>>
0021-一元一次方程
查看>>
0067-水仙花数
查看>>
Java学习第一篇--废话写在前面
查看>>
开发环境配置(netbeans+ant迁移到eclipse+maven)
查看>>
你如何理解HTML结构的语义化?
查看>>
iOS网络协议----HTTP/TCP/IP浅析
查看>>
iScroll4下表单元素聚焦及键盘的异常问题
查看>>
JAVA_JDBC
查看>>
线性结构与树形结构相互转换(ES6实现)
查看>>
BZOJ2822:[AHOI2012]树屋阶梯(卡特兰数,高精度)
查看>>
python3 装饰器
查看>>
Android-spinner详解
查看>>
《iPhone与iPad开发实战—iOS经典应用剖析》连载四
查看>>
JQuery Ajax 的简单使用
查看>>
Swift与Objective-C的对比
查看>>
【SICP练习】145 练习4.1
查看>>
JavaScript语言精粹读书笔记 - JavaScript函数
查看>>
sqlserver error 40解决方案
查看>>