小强的HTML5移动开发之路(35)——jQuery中的过滤器详解

黄舟
发布: 2017-02-04 14:47:28
原创
1625人浏览过

1、基本过滤选择器
:first
:last
:not(selector) :selector匹配的节点之外的节点
:even :偶数
:odd :奇数
:eq(index)
:gt(index) :比他大的

:lt(index) :比他小的

<html>  
    <head>  
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>  
        <script>  
            $(function(){  
                $('#b1').click(function(){  
                    //$('tr:first').css('background-color','#cccccc');  
                    //$('tbody tr:first').css('background-color','#cccccc');  
                    //$('tbody tr:not(#tr2)').css('background-color','#cccccc');  
                    //$('tbody tr:even').css('background-color','#cccccc');  
                    $('tbody tr:eq(2)').css('background-color','#cccccc');  
                });  
            });  
        </script>  
    </head>  
    <body>  
        <table border="1" cellpadding="0" cellspacing="0" width="60%">  
            <thead>  
                <tr>  
                    <td>name</td><td>age</td>  
                </tr>  
            </thead>  
            <tbody>  
                <tr><td>zs</d><td>22</td></tr>  
                <tr id="tr2"><td>ls</d><td>22</td></tr>  
                <tr><td>ww</d><td>22</td></tr>  
                <tr><td>ll</d><td>22</td></tr>  
            </tbody>  
        </table>  
        <input type="button" value="clickMe" id="b1"/>  
    <body>  
</html>
登录后复制

2、内容过滤选择器
:contains(text)
:empty:没有子节点的节点或者文本内容为空的节点
:has(selector)
:parent :包含有父节点的节点

<html>  
    <head>  
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>  
        <script>  
            $(function(){  
                $('#b1').click(function(){  
                    $(':contains(hello)').css('background','red');  
                    //$(':empty').css('','');  
                    //$('p :has(p)').css('','');  
                });  
            });  
        </script>  
    </head>  
    <body>  
        <p>  
            <p>hello</p>  
            <p>你好</p>  
            <p>  
                <p>java</p>  
            <p>  
            <input type="button" value="clickMe" id="b1"/>  
        </p>  
    </body>  
  
</html>
登录后复制

842.png

其实我的目的并不是让全部屏幕变成红色,为什么全部变成红色的呢?再看下面代码,我在contains(hell0)前面加一个p

立即学习前端免费学习笔记(深入)”;

$('p:contains(hello)').css('background','red');
登录后复制

843.png

可以看到虽然不是全屏了,但是还不是我想要的结果,怎么才能只将hello下面的背景变成红色呢?可以这样做

$('p p:contains(hello)').css('background','red');
登录后复制

844.png

牛小影
牛小影

牛小影 - 专业的AI视频画质增强器

牛小影 57
查看详情 牛小影

3、可见性过滤选择器
:hidden
找到input type="hidden" 以及display=none:visible

$(function(){  
    $('#a1').click(function(){  
        $('p:hidden').css('display','block');  
        //如过有这个样式则去掉,没有则加上  
        $('#d1').toggleClass('show');  
    });  
    //每点击一次,执行一个函数,循环执行  
    $('#a1').toggle(function(){  
        //$('#d1').css('display','block');  
        $('#d1').show(400); //在400毫秒种打开  
        //或者使用slow fast normal三个参数  
        $('#d1').show(slow);  
    },function(){  
        //$('#d1').css('display','none');  
        $('#d1').hide();  
    });  
});
登录后复制

4、过滤选择器
(1)属性过滤选择器[attribute] 
[attribute=value]
[attribute!=value]

<html>  
    <head>  
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>  
        <script>  
            $(function(){  
                $('#b1').click(function(){  
                    $('p[id=p1]').html('hello java');  
                });  
            });  
        </script>  
    </head>  
    <body>  
        <p id="p1">hello</p>  
        <p>world</p>  
        <input type="button" value="click" id="b1"/>  
    </body>  
</html>
登录后复制

(2),子元素过滤选择器:返回所有匹配的父节点下的子节点
:nth-child(index/even/odd)
n从1开始

<html>  
    <head>  
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>  
        <script>  
            $(function(){  
                $('#b1').click(function(){  
                    $('ul li:nth-child(1)').html('item100');  
                });  
            });  
        </script>  
    </head>  
    <body>  
            <ul>  
                <li>item1</li>  
                <li>item2</li>  
                <li>item3</li>  
  
            </ul>  
            <ul>  
                <li>item4</li>  
                <li>item5</li>  
                <li>item6</li>  
  
            </ul>  
            <input type="button" value="click" id="b1"/>  
    </body>  
</html>
登录后复制

(3),表单对象属性过滤选择器
:enabled
:disabled      //文本输入框不能输入
:checked//被选择的节点
:selected

5、表单选择器
:input       $(':input');返回所有的input
:text
:pasword
:checkbox
:radio
:submit
:image
:reset
:button

以上就是 小强的HTML5移动开发之路(35)——jQuery中的过滤器详解的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关标签:
HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号