02 - jQuery选择器以及样式操作

Posted article-record

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02 - jQuery选择器以及样式操作相关的知识,希望对你有一定的参考价值。

jQuery中的选择器

在说jQuery中的选择器之前 咱们先回忆一下DOM中选择元素的方法

// id
document.getElementById('id'); 
// 根据标签 多个
document.getElementsByTagName('tag');
// name  多个
document.getElementsByTagName('name');
// className 多个  
document.getElementsByClassName('className'); 

// jQuery中获取元素的方法:通过各种选择器来获取元素
// id 选择器 
$('id');
// 标签选择器
$('div');
// 类选择器
$('.className');
// * 表示所有
$('*');

是不是感觉和CSS选择元素语法一样呢?对的基本就是这样子的!!!
那么下面咱们先看一些案例吧;


id选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        #dv 
            height: 200px;
            width: 300px;
            background-color: pink;
        
    </style>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        // 点击按钮,设置层中显示内容为:这是一个层,同时设置这个层的背景颜色(id选择器)

        $(function () 
            // 获取按钮,调用点击事件的方法
            $('#btn').click(function () 
                // .text() 相当于DOM中的innerText或者textContent
                $('#dv').text('这是一个层');
                $('#dv').css('backgroundColor', 'yellow');
            );
        );
    </script>
</head>
<body>
    <input type="button" value="展示效果" id="btn">
    <div id="dv"></div>
</body>
</html>
标签选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        // 点击按钮,设置多个p标签中的内容显示为:我们都是p(标签选择器)
        // 页面加载事件
        $(function () 
            $('#btn').click(function () 
                $('p').text('我们都是p');
            );
        );
    </script>
</head>
<body>
    <input type="button" value="设置内容" id="btn">
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>4</p>
    <p>5</p>
</body>
</html>
类选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .cls 
            background-color: hotpink;
        
    </style>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        // 点击按钮,设置页面上应用cls类样式的元素背景颜色(类选择器)
        $(function () 
            $('#btn').click(function () 
                $('.cls').css('backgroundColor', 'red');
            );
        );
    </script>
</head>
<body>  
    <input type="button" value="显示效果" id="btn">
    <br />
    <span class="cls">这是一个span</span>
    <p class="cls">这是一个p</p>
</body>
</html>
标签+类选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .cls 
            background-color: pink;
        
    </style>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        // 点击按钮设置页面上应用cls类样式的li标签背景颜色改变
        $(function () 
            $('#btn').click(function () 
                $('li.cls').css('backgroundColor', 'red');
            );
        );
    </script>
</head>
<body>
    <input type="button" value="选择样式" id="btn">
    <ul>
        <li class="cls">1</li>
        <li>2</li>
        <li>3</li>
        <li class="cls">4</li>
        <li class="cls">5</li>
    </ul>
</body>
</html>
多条件选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        li, span, div 
            display: block;
            height: 100px;
            width: 100px;
            background-color: pink;
            margin-top: 10px;
        
    </style>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        $(function () 
           $('#btn').click(function () 
               $('span,li,div').css('backgroundColor', 'yellow');
           ); 
        );
    </script>
</head>
<body>
    <input type="button" value="设置颜色" id="btn">
    <span></span>
    <li></li>
    <div></div>
</body>
</html>
层次选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
       div li:last-child 
           background-color: antiquewhite;
       
        
    </style>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        $(function () 
            // 获取div中的相关元素
            $('#btn').click(function () 
                // 获取div中的所有p标签
                //$('div p').css('backgroundColor', 'red');

                // 获取div的子p标签
                // $('div > p').css('backgroundColor', 'red');

                $('div li:nth-child(1)').css('backgroundColor', 'yellow');
            );
        );
    </script>
</head>
<body>
    <input type="button" value="显示效果" id="btn">
    <div>
        <p>这是div中的第一个p</p>
        <ul>
            <li>这是第一个li</li>
            <li><p>这是第二个li的p</p></li>
            <li>这是第三个li</li>
        </ul>
        <p>这是div中的第二个p</p>
    </div>
    <p>这是div后面的第一个p</p>
    <p>这是div后面的第二个p</p>
    <p>这是div后面的第三个p</p>
</body>
</html>
索引选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        ul
            list-style-type: none;
            width: 200px;
            position: absolute;
            left: 500px;
        
        ul li
            margin-top: 10px;
            cursor: pointer;
            text-align: center;
            font-size: 20px;
        
    </style>
    <script src="../jquery-1.12.2."></script>
    <script>
        $(function () 
            $('#btn').click(function () 
                // 获取ul中索引为4的 li元素
                $('#uu > li:eq(4)').css('backgroundColor', 'red');
                // 获取ul中索引大于4的所有li元素
                $('#uu > li:gt(4)').css('backgroundColor', 'yellow');
                // 获取ul中索引小于4的所有li元素
                $('#uu > li:lt(4)').css('backgroundColor', 'green');
            );
        );
    </script>
</head>
<body>
<input type="button" value="显示效果" id="btn"/>
<ul     
</body>
</html>
奇偶选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        ul
            list-style-type: none;
            width: 200px;
            position: absolute;
            left: 500px;
        
        ul li
            margin-top: 10px;
            cursor: pointer;
            text-align: center;
            font-size: 20px;
        
    </style>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        $(function () 
            $('#btn').click(function () 
                // :even 偶数选择器  下标从零开始 页面表现为奇数
                $('#uu > li:even').css('backgroundColor', 'yellow');
                // :odd 奇数选择器
                $('#uu > li:odd').css('backgroundColor', 'red');
            );
        );
    </script>
</head>
<body>
<input type="button" value="隔行变色" id="btn"/>
    <ul id="uu">
        <li>乔峰:降龙十八摸</li>
        <li>张无忌:乾坤大摸姨</li>
        <li>段誉:鳞波微步</li>
        <li>丁棚:天外流星贱</li>
        <li>张三丰:太极掌</li>
        <li>段飞:极乐神功</li>
        <li>云飞扬:天馋功</li>
        <li>杨过:黯然销魂掌</li>
        <li>那谁谁:如来神掌</li>
        <li>孟星魂:流星蝴蝶剑</li>
        <li>楠哥:少女萌萌拳</li>
    </ul>
</body>
</html>
jQuery中一些常见的方法
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        $(function () 
            $('#btn').click(function () 
                // .text() 没有内容表示获取文本
                console.log($('p').text());
                // .text() 写内容表示设置文本  相当于DOM中的innerText
                console.log($('p').text('content'));

                // .html()  点击按钮新增元素  如果是给body增加 会覆盖之前添加的元素
                $('#div').html('<p>我是新增的内容</p>');
                // .html() 获取整个div文本  相当于DOM中的innerHTML
                console.log($('#div').html());

                // 点击按钮设置文本框中的值  .val('content') 设置元素的value属性
                $('#txt').val('hello world'); 
                // .val() 没有内容是获取元素的value值  相当于DOM的value
                console.log($('#txt').val());   

                // .css() 如果只是设置一个样式,就传两个参数 
                $('#div').css('backgroundColor', 'red');
                // .css() 多个对象 就以键值对的方式 传入
                $('#div').css('width': '200px', 'height': '100px', 'backgroundColor': 'yellow');

                // .index()获取当前元素的索引
                $(this).index();

                // .find() 针对当前元素找里面的一些其他元素
                $('#div').find();

                // .siblings() 获取当前元素的所有兄弟元素
                $(this).siblings('input');
            ); 
        );
    </script>
</head>
<body>
    <input type="button" value="获取内容" id="btn">
    <input type="text" value="这是文本框" id="txt">
    <p>我是一个p</p>
    <div id="div">
        <p></p>
    </div>
</body>
</html>
好友切换面板案例
<!DOCTYPE html>
<html>
<head lang="en">
    <title></title>
    <meta charset="UTF-8">
    <style type="text/css">

        #u1 li 
            margin-bottom: 10px;
            background-color: Orange;
            font-size: 20px;
            font-weight: bolder;
            cursor: pointer;
        
        #u1 li ul 
            list-style-type: none;
            margin: 0;
            padding: 0;

        

        #u1 li ul li 
            background-color: pink;
        
    </style>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        $(function () 
            $('#u1 > li > ul > li').hide();
            $('#u1 > li').click(function () 
                // 找到id为ul的直接的子元素li,注册鼠标点击的事件
                $(this).siblings('li').children('ul').find('li').hide(500);
                // 当前的li中的ul中的所有的li显示
                $(this).children('ul').find('li').show(500);
            );
        );
    </script>
</head>
<body>

<div style=" width:200px; height:500px; border:1px solid red;">
    <ul id="u1" style=" list-style-type:none; margin:0; padding:0; text-align:center;">
        <li>
            幼儿园同学
            <ul>
                <li>鼻涕虫</li>
                <li>爱哭鬼</li>
                <li>张大胆</li>
            </ul>
        </li>
        <li>小学同学
            <ul>
                <li>张三丰</li>
                <li>张无忌</li>
                <li>乔布斯</li>
            </ul>
        </li>
        <li>
            初中同学
            <ul>
                <li>盖茨</li>
                <li>川普</li>
                <li>奥巴马</li>
            </ul>
        </li>
    </ul>
</div>
</body>
</html>

jQuery样式操作

操作类样式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div 
            height: 100px;
            width: 100px;
            background-color: rebeccapurple;
        
        .cls 
            background-color: green;
        
        .cls2 
            border: 3px solid yellow;
        
    </style>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        $(function () 
            $('#btn').click(function () 
                // 添加单个类样式
                $('#div').addClass('cls');

                // 添加多个类样式
                $('#div').addClass('cls cls2');
                $('#div').addClass('cls').addClass('cls2');

                // 是否有类名  true/false
                console.log($('#div').hasClass('cls2'));
                
                // 删除类样式
                $('#div').removeClass('cls'); // 指定类样式
                $('#div').removeClass(); // 所有类样式
            );
        );
    </script>
</head>
<body>
    <input type="button" value="显示效果" id="btn">
    <div id="div"></div>d
</body>
</html>
网页开关灯案例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .cls 
            background-color: black;
        
    </style>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        $(function () 
            $('#btn').click(function () 
                if ($(this).val() == '关灯') 
                    $('body').addClass('cls');
                    $(this).val('开灯');
                 else 
                    $('body').removeClass();
                    $(this).val('关灯');
                
            );

            // 简单的代码
            $('#btn').click(function () 
                // .toggleClass() 切换类样式
                $('body').toggleClass('cls');
                $(this).val() == '关灯' ? $(this).val('开灯') : $(this).val('关灯'); 
            );
        );
    </script>
</head>
<body>
    <input type="button" value="关灯" id="btn">
</body>
</html>

以上是关于02 - jQuery选择器以及样式操作的主要内容,如果未能解决你的问题,请参考以下文章

jq 筛选选择器,方法,隐式迭代 元素显示隐藏 淡入淡出 上拉下拉 动画 类名操作以及样式

jQuer的实用语法

JQuery基础

jQuery选择器

jQuery-介绍 加载 选择器 样式操作 属性操作 绑定click事件

JQuery基本知识选择器事件DOM操作动画