JavaWeb基础-1.jQuery

1. jQuery介绍

  • 是JavaScript和Query,辅助JavaScript开发的js类库

2. jQuery核心函数

  • $是jQuery的核心函数,$()就是调用$这个函数
  • 传入参数为函数时,表示页面加载完成后,相当于window.οnlοad=function(){}
  • 传入参数为HTML字符串时,会帮我们创建这些HTML标签对象
  • 传入参数为选择器字符串时,$("#id属性值") 等于 id选择器,根据id查询标签对象;$(“标签名” )等于标签名选择器,根据指定的标签名查询标签对象
  • 传入参数为DOM对象时,会把这个DOM对象转换为jQuery对象

3. jQuery对象和DOM对象

3.1 jQuery对象和DOM对象使用区别

  • jQuery对象是DOM对象的数组+jQuery提供的一系列功能函数
  • jQuery对象不能使用DOM对象的属性和方法
  • DOM对象也不能使用jQuery对象的属性和方法

3.2 DOM对象和jQuery对象转化

  • $(DOM对象)就可以转成jQuery对象
  • jQuery对象[小标]取出相应的DOM对象

4. jQuery选择器

4.1 基本选择器

  • #id
  • element
  • .class
  • *

4.2 层级选择器

  • ancestor descendant 祖先元素下所有的后代元素
  • parent > child 直接子元素
  • prev + next 紧接在prev元素后的next元素
  • prev ~ siblings prev元素之后所有的元素

4.3 过滤选择器

4.3.1 基本过滤器

  • :first 获取第一个元素
  • :last 获取最后的元素
  • :not(selector) 取反
  • :even 匹配索引值为偶数的元素
  • :odd 索引值为奇数的元素,从0开始
  • :eq(index) 匹配一个给定索引值的元素
  • gt(index) 大于给定索引值的元素
  • lt(index) 小于给定索引值的元素
  • :header h1-h6
  • :animated 正在执行动画效果的元素

4.3.2 内容过滤器

  • :contains(text) 匹配包含给定文本的元素
  • :empty 所有不包含子元素或者文本的空元素
  • :parent 非空的
  • :has(selector) 匹配含有选择器所匹配的元素的元素

4.3.3 属性过滤器

  • [attribute] 匹配包含给定属性的元素
  • [attribute=value] 属性是某个值的元素
  • [attribute!=value] 不含有指定属性或属性不等于特定值的元素
  • [attribute^=value] 给定的属性以某些值开始的元素
  • [attribute$=value] 结尾的
  • [attribute*=value] 包含的

4.3.4 表单过滤器

  • :input 匹配所有表单,很少用
  • :text 匹配素有的单行文本框
  • :password 所有密码框
  • :radio 单选
  • :checkbox 复选框
  • :submit 提交按钮
  • :reset 重置按钮
  • :buttom 按钮
  • :hidden 不可见的元素或type为hidden的元素

4.3.5 表单对象属性过滤器

  • :enabled 匹配所有可用元素
  • :disabled 不可用
  • :checked 被选中的(单选、复选框)
  • :selected 选中的option元素

5. jQuery元素筛选

方法 作用 功能
eq() 获取给定索引的元素 跟:eq一样
first() 获取第一个元素 跟:first一样
last() 获取最后一个元素 :last一样
filter(eq) 过滤,留下匹配元素
is() 判断是否匹配给定的选择器,有一个匹配返回true
has(exp) 返回包含有匹配选择器的元素的元素 :has
not(exp) 删除匹配选择器的元素 :not
children(exp) 返回匹配给定选择器的子元素 parent>children
find(exp) 返回匹配给定选择器的后代元素 祖先 后代
next() 返回当前元素的下一个兄弟元素 prev+next
nextAll() 当前元素的同辈元素 prev~siblings
nextUntil() 当前元素到指定匹配元素为止
parent() 返回父元素
prev(exp) 当前元素的上一个兄弟元素
prevAll() 返回当前元素所有的兄弟元素
siblings(exp) 返回所有兄弟元素
add() 把add匹配的选择器元素添加到当前jquery对象中

6. jQuery的属性操作

  • html() 可以设置和获取起始标签和结束标签中的内容,跟DOM属性innerHTML一样
  • text() 可以设置和获取文本,跟DOM属性innerText一样
  • val() 可以设置和获取表单项的value值,跟DOM属性value一样
  • attr() 可以设置和获取属性的值,不推荐操作checked,readOnly,selected,disabled。还可以操作非标准的属性,比如自定义属性abc,bcd…
  • prop() 对于一些属性,返回undefined时,attr()不推荐的使用prop()

6.1 练习:全选、全不选,反选

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="../../script/jquery-1.7.2.js"></script>
    <script type="text/javascript">
        $(function () {
    
            $("#checkedAllBtn").click(function () {
    
                $(":checkbox").prop("checked", true);
            });
            $("#checkedNoBtn").click(function () {
    
                $(":checkbox").prop("checked", false);
            });
            $("#checkedRevBtn").click(function () {
    
                $(":checkbox[name='items']").each(function () {
    
                    this.checked = !this.checked;
                });
                var allCount = $(":checkbox[name='items']").length;
                var checkCount = $(":checkbox[name='items']:checked").length;

                $("#checkedAllBox").prop("checked", allCount == checkCount);
            });
            $("#sendBtn").click(
                function () {
    
                    $(":checkbox[name='items']:checked").each(function () {
    
                        alert(this.value);
                    });
                }
            );

            $("#checkedAllBox").click(function () {
    

                $(":checkbox[name='items']").prop("checked", this.checked);
            });
            $(":checkbox[name='items']").click(function () {
    
                var allCount = $(":checkbox[name='items']").length;
                var checkCount = $(":checkbox[name='items']:checked").length;

                $("#checkedAllBox").prop("checked", allCount == checkCount);
            });
        });
    </script>
</head>
<body>

<form method="post" action="">
    你爱好的运动是?<input type="checkbox" id="checkedAllBox"/>全选/全不选
    <br/>
    <input type="checkbox" name="items" value="足球"/>足球
    <input type="checkbox" name="items" value="篮球"/>篮球
    <input type="checkbox" name="items" value="羽毛球"/>羽毛球
    <input type="checkbox" name="items" value="乒乓球"/>乒乓球
    <br/>
    <input type="button" id="checkedAllBtn" value="全 选"/>
    <input type="button" id="checkedNoBtn" value="全不选"/>
    <input type="button" id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值