Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >jQuery选择器(20171026)

jQuery选择器(20171026)

作者头像
天天_哥
发布于 2018-09-29 05:52:15
发布于 2018-09-29 05:52:15
93300
代码可运行
举报
文章被收录于专栏:天天天天
运行总次数:0
代码可运行

一.jq与js再比较看优势

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
看案例(好友列表)
结构:
<div id="con" class="center">
    <ul id="friendslist">
        <li>
            <p class="border_bottom">我的好友</p>
            <ul>
                <li>张三</li>
                <li>李四</li>
                <li>王五</li>
                <li>宋六</li>
            </ul>
        </li>
        <li>
            <p class="border_bottom">同事</p>
            ....
        </li>
         ....
    </ul>
</div>
//原生js方法

var friendslist = document.getElementById("friendslist");
    var listItem = friendslist.getElementsByTagName("p");
    var item = friendslist.getElementsByTagName("ul");
    for (var i=0;i<listItem.length;i++){
        listItem[i].onclick = function(){
            //循环先让所有的子ul隐藏
            for( var j=0;j<listItem.length;j++){
                listItem[j].nextElementSibling.style.display = "none";
            }
            //让当前显示
            this.nextElementSibling.style.display = "block";
        }
    }

  //jquery方法

    $(function(){
        $("p").click(function(){
            console.log(123);
            $(this).siblings("ul").show().parent("li").siblings("li").find("ul").hide();
        })
    })

image.png

image.png

二. jQuery链式变成的原理

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 var obj={
        n:2
    };
    obj.write = function(){
        console.log(this.n*2)
    };
    obj.say = function(){
        console.log("我是谁")
    };
//    obj.say();//4
//    obj.write();//我是谁
//    obj.say().write();//报错
修改:
 var obj={
        n:2
    };
    obj.write = function(){
        console.log(this.n*2)
        return this
    };
    obj.say = function(){
        console.log("我是谁")
         //就是在对象的函数里返回this;
        return this
    };
    //obj.say().write();//4,我是谁

三.jQuery选择器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1.基本选择器

2.过滤选择器

a)基本过滤选择器:
:first//(选取第一个元素)
:last//(选取最后一个元素)
:even//(选取索引是偶数的所有元素)
:odd//(选取索引是奇数的所有元素)
:eq(index)//(选取索引等于index的元素)
:gt(index)//(选取索引大于index的元素)
:lt(index)//(选取索引小于index的元素)
:header//(选取所有的h1,h2,h3等标题元素)
:animated//(选取当前正在执行动画的所有元素)

b)内容过滤选择器
:contains(text)//选取含有文本内容为text的元素
:empty//选取不包含子元素或者文本的空元素
:has(selector)//选取含有选择器所有匹配的元素的元素
:parent//选取含有子元素或者文本的元素

c)可见性选择器

:hidden//选取所有不可见的元素
(包括<input type="hidden" /><div style="display:none"><div style="visibility:hidden;">;
若只选取<input type="hidden" />使用$("input:hidden")
:visible//选取所有可见元素

d)属性选择器

[attribute]//选取拥有此属性的元素
[attribute=value]//选取属性的值为value的元素
[attribute!=value]//选取属性的值不为value的元素
[attribute^=value]//选取属性的值以value开始的元素
[attribute$=value]//选取属性的值以value结束的元素
[attribute*=value]//选取属性的含有value的元素
[selector1][selector2][selectorN]//属性选择器合并成一个复合属性选择器,
注意:此处为属性选择器的并集,如$("div[id][class$='Bar']"

e)子元素选择器

:nth-child(index/even/odd/equation)//选取第index个子元素或者奇偶元素
:first-child//选取每个父元素的第一个元素(返回整个文档中每个元素的第一个子元素),
如$("ul li:first-child");选择每个<ul>中第1个元素
:last-child//选取每个父元素的最后一个元素
:only-child//若某子元素是其父元素中惟一的子元素,将会被匹配

f)表单对象属性选择器

:enabled//选择所有可用元素,例$("#form1:enabled")
:disabled//选取所有不可用元素
:checked//选取所有被选中元素(checkbox,radio)
:selected//选取所有被选中元素(下拉列表)

g)表单选择器

:input
:text
:password
:radio
:checkbox
:submit
:image
:reset
:button
:file
:hidden

四.利用jq选择器实现一些功能

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
checkbox案例(一)
$(function(){
        //全选,反选
        $("thead input").click(function(){
                $("tbody input").prop("checked",$("thead input").prop("checked"));

        });
      //有一个没选,实现非全选
        $("tbody input").click(function(){
            var flag =true;
            $("tbody input").each(function(){
                if(!$(this).prop("checked")){
                    flag =false
                }
                if(flag){
                    $("thead input").prop("checked",true)
                }else{
                    $("thead input").prop("checked",false)
                }
            })

        })
checkbox案例(二)
$(function() {
            var arr=[];
            $(":checkbox").click(function(){
                if ($(":checkbox:checked").length > 3) {
                    alert("最多只能选择三个");
                    $(this).prop("checked",false)
                }
                var text =$(this).next().text();
                if($(this).prop("checked")){
                    //判断点击时当前项是否被选中,是选中就往数组里添加该项
                    arr.push(text)
                }else{
                    //不是选中状态就在数组中删除该项
                    var index = arr.indexOf(text);
                    if(index>=0){
                        arr.splice(index,1);
                    }
                }
                $("#txt").html(arr.join(","));
            })
        });
    </script>

image.png

image.png

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
案例三:利用jq内容选择器实现模糊搜索

结构:
<input type="text"/>
<div id="box">
    <p>小猫</p>
    <p>猫头鹰</p>
    <p>大地</p>
    <p>地球</p>
    <p>发小</p>
    <p>头大</p>
    <p>你好</p>
</div>

jq:
$(function(){
          $("#box p").hide();
          $(":text").keyup(function(){
              var keyword = $(this).val();
              if(keyword.length>0){
                  $("#box p:contains("+keyword+")").show()
              }else{
                  $("#box p").hide();
              }

          })
      })

image.png

案例四:jq实现分页效果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
结构:
<div id="con">
    <div id="pages" class="border_bottom"></div>
    <ul id="list">
        <li>我是第01个标签</li>
        <li>我是第02个标签</li>
       ...
        <li>我是第134个标签</li>
    </ul>
</div>
jq:
 $(function(){
        var count=0;//计数
        var timer=null;
        var eachPage =10;//每页的个数
        var pageCounts =Math.ceil($("#list li").length/eachPage ); //页数
        console.log(pageCounts)
        //默认让第一页显示
        $("#list li").slice(0,10).show();
        //循环添加a标签
        for(var i=1;i<pageCounts+1;i++){
            $("<a href='javascript:void(0)'></a>").text(i).appendTo($("#pages"));
        }
        //默认给第一个加被选中样式
        $("#pages a:first").addClass("red");
        $("#pages a").click(function(){
            count= parseInt($(this).index());
            var which = $(this).index();
            $(this).addClass("red").siblings().removeClass("red");
            $("#list li").siblings().hide().slice((which)*10,(which+1)*10).show();

        })
        //自动播放
        function change(){
            timer = setInterval(function(){
                count++;
                console.log(count)
                if(count<pageCounts){
                    $("#pages a").eq(count).addClass("red").siblings().removeClass("red");
                    $("#list li").siblings().hide().slice((count)*10,(count+1)*10).show();
                }else{
                    count=0
                    $("#pages a").eq(count).addClass("red").siblings().removeClass("red");
                    $("#list li").siblings().hide().slice((count)*10,(count+1)*10).show();
                }
            },1500)
        }
        change();
       $("#con").mouseleave(function(){
           change();
       })
        $("#con").mouseenter(function(){
            clearInterval(timer)
        })
    })
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.10.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jQuery选择器大全(48个代码片段+21幅图演示)
选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写jQuery代码的效率。本文配合截图、代码和简单的概括对所有jQuery选择器进行了介绍,也列举出了一些需要注意和区分的地方。 一、基本选择器 1. id选择器(指定id元素) 将id="one"的元素背景色设置为黑色。(id选择器返单个元素) $(document).ready(function () {
牛嗷嗷
2018/03/30
5K0
jquery
维护IE678是一件让人头疼的事情,一般我们都会额外加载一个CSS和JS单独处理。值得庆幸的是使用这些浏览器的人也逐步减少,PC端用户已经逐步被移动端用户所取代,如果没有特殊要求的话,一般都会选择放弃对678的支持。
suwanbin
2019/09/26
5.8K0
jQuery
    2.jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Write less, do more.“
changxin7
2022/05/06
9K0
jQuery
Jquery选择器
1、  基本选择器 选择器 描述 结果 示例 #id 根据id获取元素 单个 $(“#myid”)选取id的值为myid的元素 .class 根据class获取元素 集合 $(“.myclass”)选取class的值为myclass的元素 a,p,img等html标签 根据指定的html标签获取元素 集合 $(“img”)选取所有的img标签 * 获取所有的元素 集合 $(“*”)获取所有标签元素 a,.myclass,#id等 获取对应标签元素 集合 $(“a,.myclass,
苦咖啡
2018/05/07
2K0
jQuery
jQuery基础 1、    jQuery其实就是一个类库,集成了DOM/BOM/JavaScript的类库 http://jquery.cuishifeng.cn/这个网站里有所有的jQuery
coders
2018/01/04
4.6K0
jQuery
Web前端开发JQuery框架笔记
ID选择器: 通过使用简单的$(#id)标识前缀,实现快速匹配指定ID的元素对象,具体用法如下.
微软技术分享
2022/12/28
11.8K0
JavaScript学习笔记(四)—— jQuery入门
子元素伪类选择器就是选择某一个元素下面的子元素的方式,在jQuery中,子元素伪类选择器分为两大类:
wsuo
2020/07/31
11.2K0
jQuery基础图文系列
jquery的入口函数是在html所有标签都加载后才执行,而JavaScript的window.onload事件是等到所有内容加载完后才执行。
菲宇
2019/07/31
4.5K0
jQuery基础图文系列
JQ 选择器大全
$(".one+div") <==> $(".one").next("div");
莫问今朝
2018/08/31
1.3K0
前端之jQuery
jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是 jQuery独有的。如果一个对象是 jQuery对象,那么它就可以使用jQuery里的方法:例如$(“#i1”).html()。
GH
2019/12/16
4.9K0
前端学习之jQuery
[1]   jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。
超蛋lhy
2018/08/31
3.2K0
javaWeb核心技术第五篇之jQuery
- 概述 - jQuery是一个优秀的javascript框架(js类库),兼容css3和各大浏览器,提供dom,events,animate,ajax等简易的操作。并且jQuery有非常丰富的插件,大多数功能都有相应的插件解决方案。jQuery的宗旨是write less, do more. (写的更少,做的更多) - jQuery入门 - jQuery和html整合 - 下载 - 下载地址:www.jquery.com - 使用script的src属性即可
海仔
2019/08/26
8K0
jQuery选择器(满足你的所有业务)
jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。
鱼找水需要时间
2023/02/16
9120
jQuery之高级选择器
为什么要反复的讲选择器,这个就是jQuery的一个核心点,在之前js的时候,通过复杂的document.getElement(s)ById|ByTagName|ByClassName等等,这些方式,找页面的元素对象。同样,在jQuery里面,我们要操作页面对象还是需要找对象,找页面对象,就是通过各类的选择器来找,简化我们的业务代码量。
用户9184480
2024/12/19
1000
jQuery的基本操作
jQuery就是一个js的库· 主要分为两部分:            1·寻找元素         (选择器,筛选器)            2·操作元素          (CSS的操作,属性的操作,文本的处理) 选择器 基本  #id    #id //用于搜索的,通过元素的id属性中给定的值 描述:(查找ID为myDiv的元素) HTML代码: <div id="notMe"><p>id = "notMe"</p></div> <div id="myDiv">id="m
Wyc
2018/09/11
7.6K0
jQuery基础
一 jQuery是什么? [1]   jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。 [2]   jQuery是继prototype之后又一个优秀的Javascript框架。其宗旨是——WRITE LESS,DO MORE! [3]  它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器 [4]  jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdo
用户1214487
2018/01/24
2.1K0
04 . 前端之JQuery
JQuery简介 # 1. jQuery是一个轻量级的、兼容多浏览器的JavaScript库。 # 2. jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便
iginkgo18
2020/09/27
3.4K0
jquery学习
<1> jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。
菲宇
2019/06/13
2.3K0
jQuery
DOM 对象 Alert 出来的效果是:[object HTML 标签名 Element]
OY
2022/03/12
10.8K0
jQuery
JQuery选择器(中)
HTML5学堂:在学习JQuery开发的时候,选择器有多种,而我们将接着介绍选择器的其他类型,希望对大家有帮助! 5.临近选择器: $("mix+mix"),选取下一个兄弟节点.如:$("div +#test"),id为test的的节点必须是div的下一个兄弟节点. <div></div><p id="test"></p>在$("div + #test")中能取到p段落节点 <div></div><p></p><p id="test"></p>则不能取到 6.属性选择器: 把属性选择器不放在css选择器里面
HTML5学堂
2018/03/12
2K0
相关推荐
jQuery选择器大全(48个代码片段+21幅图演示)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验