Rumah > hujung hadapan web > tutorial js > jquery 选择器中一些细节

jquery 选择器中一些细节

伊谢尔伦
Lepaskan: 2016-12-10 09:45:25
asal
1595 orang telah melayarinya

1.可见性过滤选择器

:hidden 选取所有不可见的元素。例如:$(“:hidden”) 表示选取所有不可见的元素。包括:

1

2

3

<input type="hidden" />

<div style="display:none;"></div>

<div style="visibity:hidden"></div>

Salin selepas log masuk

html页面上的注释内容/**/、、(如果页面上由此标签)、
等元素。如果只想去元素,可以使用$(“input:hidden”) 注意input:hidden之间没有空格,稍后我们会讲解这个有无空格的区别;
验证如下:
验证页面代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<!DOCTYPE html>

<html>

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>测试jQuery选择器</title>

 

    <script src="Scripts/jquery-1.7.1.js"></script>

    <style type="text/css">

        .test {           

              background-color: yellow;      

          }

    </style>

</head>

<body>

    <input type="hidden"  value="hidden"/>

    <div style="display:none"></div> 

    <script type="text/javascript">

        var $hidden1 = $(":hidden");       

        var $hidden2 = $("input:hidden");       

        var len1 = $hidden1.length;       

        var len2 = $hidden2.length;

        console.log("$(&#39;:hidden&#39;).length:"+len1);

        console.log("$(&#39;input:hidden&#39;).lengh:" + len2);

        $.each($hidden1, function () {

            console.log(this.nodeName+":"+  this.innerHTML);

        });

        $.each($hidden2, function () {

            console.log(this.nodeName + ":" + this.innerHTML);

        });   

    </script>

</body>

</html>

Salin selepas log masuk

输出结果如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

$(&#39;:hidden&#39;).length:8

 $(&#39;input:hidden&#39;).lengh:1

 HEAD:   

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <title>测试jQuery选择器</title>

 

    <script src="Scripts/jquery-1.7.1.js"></script>

    <style type="text/css">

        .test {

            background-color: yellow;

        }    </style>

 

 META:

 TITLE:测试jQuery选择器

 SCRIPT:

 STYLE:        .test {

            background-color: yellow;

        }

 

 INPUT:

 DIV:

 SCRIPT:       

    var $hidden1 = $(":hidden");       

    var $hidden2 = $("input:hidden");       

    var len1 = $hidden1.length;       

    var len2 = $hidden2.length;

        console.log("$(&#39;:hidden&#39;).length:"+len1);

        console.log("$(&#39;input:hidden&#39;).lengh:" + len2);

        $.each($hidden1, function () {

            console.log(this.nodeName+":"+  this.innerHTML);

        });

        $.each($hidden2, function () {

            console.log(this.nodeName + ":" + this.innerHTML);

        });

 

 INPUT:

Salin selepas log masuk

2. 选择器中有无空格

在选择器中的空格用不能忽视,有无空格会得到不同的结果。 看下面的例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

<!DOCTYPE html>

<html>

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>测试jQuery选择器</title>

 

    <script src="Scripts/jquery-1.7.1.js"></script>

    <style type="text/css">

        .test {          

                background-color: yellow;       

          }

    </style>

</head>

<body>

    <div class="test">

        <div style="display:none">a</div>

        <div style="display:none">b</div>

        <div style="display:none">c</div>

        <div class="test" style="display:none">d</div>

    </div>

    <div class="test" style="display:none;">e</div>

    <div class="test" style="display:none">f</div>

 

    <script type="text/javascript">

        var $t1 = $(".test :hidden");//带空格

        var $t2 = $(".test:hidden");//不带空格

        var len1 = $t1.length;        var len2 = $t2.length;

        console.log("$(&#39;.test :hidden&#39;).length:" + len1);

        console.log("$(&#39;.test:hidden&#39;).length:" + len2);

        $.each($t1, function () {

            console.log(this.nodeName+":"+ this.innerHTML);

        });

        console.log();

        $.each($t2, function () {

            console.log(this.nodeName + ":" + this.innerHTML);

        });   

     </script>

</body>

</html>

Salin selepas log masuk

输出结果如下:

1

2

3

4

5

6

7

8

9

10

$(&#39;.test :hidden&#39;).length:4

$(&#39;.test:hidden&#39;).length:3

 DIV:a

 DIV:b

 DIV:c

 DIV:d

 

 DIV:d

 DIV:e

 DIV:f

Salin selepas log masuk

之所以有不同的结果,因为后代选择器和过滤选择器的不同。 
带空格的$(".test :hidden") 选取的是class为”test”的元素里面的隐藏元素,相当于就是.class *:hidden 和css的表述类似。

不带空格的$(".test:hidden") 选取的是隐藏的元素的class为”test”。

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan