JQuery笔记2-选择器


JQ中的选择器

JQ中的选择器和C3中的选择器非常相似,可以说如果会C3的选择器,那么就会JQ的选择器.例如:JQ中获取元素的方式:通过各种选择器来获取元素

  1. 根据id—$(’#id’) ----- 一个元素
  2. 根据标签名—$(‘标签名’)----多个元素
  3. 根据类样式的名字(类选择器)---- $(’.class’)–多个元素

JQ中常用的几个方法

  • .html()方法,设置标签中间显示其他标签及内容,类似于innerHTML
  • .text()方法,设置标签中间显示的文本内容,类似于innerText
  • .val()方法.设置input标签中value的值,类似于value
  • .css()方法,.设置元素的样式,类似于style

JQ中的.css()方法

JQ操作样式就要用.css()方法,而操作样式有三种方式:

  1. 当里面只写两个参数:$('div').css('backgroundColor','red')
  2. 键值对:$('div').css({width:'20px',height:'30px'})
  3. 链式编程:$('div').css('width','20px').css('height','30px')

三种方式的区别:只有两个参数这种写方法需要没设置一个样式就需要多些一行代码,键值对的方式和写css中的style就特别像了,链式编程就体现了JQ的特点.

JQ中的其他主要选择器

  1. 多条件选择器(同时选择多个元素):$('span, p, li, div')
  2. 奇数偶数选择器(选择第奇数个或第偶数个,exen为偶数,odd为奇数,但是是从索引0开始的):$('#uu>li:even'),$('#uu>li:odd')
  3. 层级选择器
    3.1 后代选择器(所有后代包括子孙):$('#dv p')
    3.2 子元素选择器(直接的后代):$('#dv>p')
    3.3 获取的是div后面的第一个p标签元素$("#dv+p")
    3.4 获取的是div后面所有直接的兄弟元素p标签元素$("#dv~p")
  4. 标签+类选择器:$('li.cls')
  5. 索引选择器(等于4,大于4,小于4):$('#uu>li:eq(4)'),$('#uu>li:gt(4)'),$('#uu>li:lt(4)')
  6. id选择器:$('#btn')
  7. 类选择器:$('.btn')
  8. 标签选择器:$('p')

其他常用的函数

  1. 获取当前元素的所有兄弟元素:siblings()
  2. 获取子元素(一层):children('标签名')
  3. 查找当前元素下的元素:find('标签名')
  4. 显示隐藏盒子:show(),hide()
  5. 显示盒子淡入:fadeIn()
  6. 隐藏盒子淡出:fadeOut()

几个小demo

  1. 精品展示:
  2. 好友面板切换
  3. 下拉菜单
  4. 手风琴

这里只展示两个:好友面板切换:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        #uu li {
            margin-bottom: 10px;
            background-color: Orange;
            font-size: 20px;
            font-weight: bolder;
            cursor: pointer;
        }
        #uu li ul {
            list-style-type: none;
            margin: 0;
            padding: 0;

        }

        #uu li ul li {
            background-color: pink;
        }
    </style>
    <script src="../jquery-1.12.2.js"></script>
    <script>
        $(function () {
            //找到id为ul的下面的li里面的ul里面的li全部隐藏
            $("#uu>li>ul>li").hide();
            //找到id为ul的直接的子元素li,注册点击事件
            $('#uu>li').click(function () {
                //兄弟li中的ul下面的li全部隐藏
                $(this).siblings('li').children('ul').find('li').hide(250);
                //当前点击的li中的ul里面的li全部显示
                $(this).children('ul').find('li').fadeIn(500);
            });
        });
    </script>
</head>
<body>
<!--box-shadow: 0px 0px 4px 3px inset rgba(255, 0, 0, 0.3) 如果不指定inset 默认阴影向外-->
<div style=" width:200px; height:500px; border:1px solid red; box-shadow: 0px 0px 4px 3px rgba(255, 0, 0, 0.3)">
    <ul id="uu" 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>

下拉菜单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }

        ul {
            list-style: none;
        }

        .wrap {
            width: 330px;
            height: 30px;
            margin: 100px auto 0;
            padding-left: 10px;
            background-color: purple;
        }

        .wrap li{
            background-color: yellow;
        }

        .wrap > ul > li {
            float: left;
            margin-right: 10px;
            position: relative;
        }

        .wrap a {
            display: block;
            height: 30px;
            width: 100px;
            text-decoration: none;
            color: #000;
            line-height: 30px;
            text-align: center;
        }

        .wrap li ul {
            background-color: yellow;
            position: absolute;
            top: 30px;
            display: none;
        }

    </style>
    <script src="../../jquery-1.12.2.js"></script>
    <script>
        $(function () {
            //获取.wrap下面的ul中的li,注册鼠标进入和离开的事件
            $('.wrap>ul>li').mouseover(function () {
                //鼠标进入
                $(this).children("ul").show();
                var ul = $(this).children("ul");

                ul.children('li').children('a').click(function () {
                    var x = $(this).text();
                    console.log(x === '乔峰');
                });
            });
            $('.wrap>ul>li').mouseout(function () {
                $(this).children("ul").hide();
            });
        })
    </script>
</head>
<body>
<div class="wrap">
    <ul>
        <li>
            <a href="javascript:void(0);">帅哥系列</a>
            <ul>
                <li><a href="javascript:void(0);">乔峰</a></li>
                <li><a href="javascript:void(0);">张无忌</a></li>
                <li><a href="javascript:void(0);">郭靖</a></li>
            </ul>
        </li>
        <li>
            <a href="javascript:void(0);">美女系列</a>
            <ul>
                <li><a href="javascript:void(0);">柳 岩</a></li>
                <li><a href="javascript:void(0);">杨 幂</a></li>
                <li><a href="javascript:void(0);">萝 拉</a></li>
            </ul>
        </li>
        <li>
            <a href="javascript:void(0);">渣男妇腐女</a>
            <ul>
                <li><a href="javascript:void(0);">凤姐</a></li>
                <li><a href="javascript:void(0);">助教</a></li>
                <li><a href="javascript:void(0);">导师</a></li>
            </ul>
        </li>
    </ul>
</div>
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值