JQuery基础

1、JQuery(辅助js开发的js类库)

1.1 jQuery核心函数 $()

1.1.1 传入参数为 函数 时

传入参数为函数时,表示页面加载完成之后,相当于window.onload = function(){}。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="../js/jquery-1.11.0.js"></script>
    <script type="text/javascript">
    //全写为$(document).ready(function(){})
        $(function () {
            alert("传入参数为函数!");
        })
    </script>
</head>
<body>
</body>
</html>

1.1.2 传入参数为 html字符串 时

根据这个字符串创建元素节点对象。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="../js/jquery-1.11.0.js"></script>
    <script type="text/javascript">
        $(function () {
            $("<div>\n" +
                "<span>hello!</span>\n" +
                "<span>world!</span>\n" +
                "</div>").appendTo("body");
        })
    </script>
</head>
<body>
<!--    <div>-->
<!--        <span>hello!</span>-->
<!--        <span>world!</span>-->
<!--    </div>-->
</body>
</html>

1.1.3 传入参数为 选择器字符串 时

  • $("#id属性值") id选择器,根据id查询标签对象;
  • $(".class属性值") 类型选择器,根据class属性查询标签对象;
  • $(“标签名”) 标签名选择器,根据标签名查询标签对象。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="../js/jquery-1.11.0.js"></script>
    <script type="text/javascript">
        $(function () {
            alert($("#div01").length);
            alert($(".divClass").length);
            alert($("div").length);
        })
    </script>
</head>
<body>
    <div class="divClass" id="div01">hello!</div>
    <div class="divClass" id="div02">world!</div>
</body>
</html>

1.1.4 当传入参数为 Dom对象 时

将Dom对象包装为jQuery对象返回。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="../js/jquery-1.11.0.js"></script>
    <script type="text/javascript">
        $(function () {
            var divObj = document.getElementById("div01");
            alert(divObj);
            alert($(divObj));
        })
    </script>
</head>
<body>
    <div id="div01">hello!</div>
</body>
</html>

1.2 jQuery对象的本质

是Dom对象的数组+jQuery提供的一系列功能函数。

1.2.1 jQuery对象与Dom对象的区别

  • 由getElementById()、getElementByName() 、getElementByTagName()查询、createElement()创建出来的对象是Dom对象。
  • 由jQuery提供的API创建的对象、通过jQuery包装的Dom对象、通过jQuery提供的API查询到的对象为jQuery对象。

1.2.2 jQuery对象与Dom对象在使用上的区别

两者间互相不能使用对方的属性和方法。

1.2.3 jQuery对象和Dom对象之间的互相转化

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="../js/jquery-1.11.0.js"></script>
    <script type="text/javascript">
        $(function () {
            var divObj = document.getElementById("div01");
            alert(divObj);
            //Dom对象转jQuery对象
            alert($(divObj));
            //jQuery对象取Dom对象
            alert($(divObj)[0]);
        })
    </script>
</head>
<body>
    <div id="div01">hello!</div>
</body>
</html>

1.3 jQuery对象的选择器

1.3.1 基础选择器

  • $("#id属性值") id选择器,根据id查询元素;
  • $(".class属性值") 类型选择器,根据class属性查询元素;
  • $(“标签名”) 标签名选择器,根据标签名查询元素;
  • $("*")查询所有元素;
  • $(“selector1, selector2…”)将匹配到的元素合并到一个结果内。

1.3.2 层级选择器

  • $(“ancestor, descendant”)在给定的的祖先元素下匹配所有的后代元素;
  • $(“parent>child”)在给定的父元素下匹配所有的子元素;
  • $(“prev+next”)匹配所有紧接在prev元素后的next元素;
  • $(“prev~siblings”)匹配prev元素之后的所有siblings元素;

1.3.3 基本过滤选择器

  • :first获取匹配的第一个元素;
  • :last获取匹配的最后一个元素;
  • :not(selector)去除所有与给定选择器匹配的元素;
  • :even匹配所有索引值为偶数的元素,从0开始计数;
  • :odd匹配所有索引值为奇数的元素,从0开始计数;
  • :eq(index)匹配一个给定索引值的元素;
  • :gt(index)匹配所有大于给定索引值的元素;
  • :lt(index)匹配所有小于给定索引值的元素;
  • :header匹配如h1,h2,h3之类的标题元素。
  • :animated匹配所有正在执行动画效果的元素。

1.3.4 内容过滤选择器

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

1.3.5 属性过滤选择器

  • [attribute]匹配包含给定属性的元素;
  • [attribute = value]匹配给定的属性是某个特定值的元素;
  • [attribute != value]匹配所有不含有指定的属性,或者属性不等于特定值的元素;
  • [attribute ^= value]匹配给定的属性是以某些值开始的元素;
  • [attribute $= value]匹配给定的属性是以某些值结尾的元素;
  • [attribute *= value]匹配给定的属性是以包含某些值的元素;
  • [selector1][selector2][selectorN]需要同时满足多个条件时使用。

1.3.6 表单过滤选择器

  • :input匹配所有input、textarea、select、button元素;
  • :text 匹配左右单行文本框;
  • :password匹配左右密码框;
  • :radio匹配所有单选按钮
  • :checkbox匹配左右复选框;
  • :submit匹配所有提交按钮;
  • :reset匹配所有重置按钮;
  • :button匹配所有按钮;
  • :file匹配所有文件域;
  • :hidden匹配左右不可见的元素,或type="hidden"的元素。
  • :enable匹配所有可用元素;
  • :disable匹配所有不可用元素;
  • :checked匹配所有选中的被选中元素(一般指单选和复选,不包括select中的option)。
    PS:
    val()方法可以操作表单项的value属性值,可以设置和获取;
    each()方法时jQuery对象提供的用来遍历元素的方法;

1.4.7 元素筛选

  • eq(index|-index)获取给定索引值的元素;
  • first()获取第一个元素;
  • last()获取最后一个元素;
  • filter(expr|obj|ele|fn)筛选出与指定表达式匹配的元素,多个中间用逗号分隔;
  • is(expr|obj|ele|fn)判断是否匹配给定的选择器,只要有一个就返回true;
  • has(expr|ele)保留包含特定后代的元素,去掉那些不含有指定后代的元素;
  • not(expr|ele|fn)删除与指定表达式匹配的元素;
  • children(expr)返回匹配给定选择器的子元素;
  • find(expr|obj|ele)返回匹配给定选择器的后代元素;
  • next()返回当前元素的下一个兄弟元素;
  • nextAll()返回当前元素后面的所有兄弟元素;
  • nextUntil(expr)返回当前元素到指定匹配元素为止的后面元素;
  • parent(expr)返回父元素;
  • prev(expr)返回当前元素的上一个兄弟元素;
  • prevAll(expr)返回当前元素前面所有的兄弟元素;
  • prevUntil(expr)返回当前元素到指定匹配元素为指的前面元素;
  • siblings(expr)返回所有兄弟元素;
  • add()把add匹配的选择器元素添加到当前的jQuery对象中。

1.4 jQuery的属性操作

  • html()可以设置和获取起始标签和结束标签中的内容,和innerHtml一样;
  • text()可以设置和获取起始标签和结束标签中的文本,和innerText一样;
  • val()可以设置和获取表单项的value属性值,和dom属性value一样。$(":radio,:checkbox").val([“radio1”,“checkbox1”,“checkbox2”])可以批量操作单选、复选框和下拉框的选中状态。
  • attr()可以设置和获取属性的值,不推荐操作checked、readOnly、selected、disabled等,还可以设置自定义属性的值;
  • prop()可以设置和获取属性的值,只推荐操作checked、readOnly、selected、disabled等。

1.5 Dom的增删改

1.5.1 插入

内部插入

  • a.appendTo(b)把a插入到b子元素末尾,成为最后一个子元素;
  • a.prependTo(b)把a插入到b所有子元素的前面,成为第一个子元素。
    外部插入
  • a.insertAfter(b)得到ba;
  • a.insertBefore(b)得到ab。

1.5.2 替换

  • a.replaceWith(b)用b替换掉a;
  • a.replaceAll(b)用a替换掉所有b。

1.5.3 删除

  • a.remove删除a标签;
  • a.empty清空a标签里的内容。

1.6 CSS样式操作

  • addClass()添加样式;
  • removeClass()删除样式;
  • toggleClass()有就删除,没有就添加样式;
  • offset()获取和设置元素的坐标。

1.7 jQuery动画

以下动画都可以添加参数:

  • 第一个参数是动画的执行时长,以毫秒为单位;
  • 第二个参数是动画的回调函数,即动画完成以后自动调用的函数。

1.7.1 基本动画

  • show()将隐藏的元素显示;
  • hide()将可见的元素隐藏;
  • toggle()可见的隐藏,不可见的显示。

1.7.2 淡入淡出动画

  • fadeIn()淡入,即慢慢可见;
  • fadeOut()淡出,即慢慢消失;
  • fadeTo()在指定时长内慢慢的将透明度修改到指定的值。0透明,1完全可见,0.5半透明;
  • fadeToggle()淡入/淡出切换。

1.8 jQuery事件操作

1.8.1 原生js与jQuery页面加载完成之后的区别

  • 触发时间:jQuery的页面加载完成之后是浏览器的内核解析完页面的标签创建好的Dom对象之后就会马上执行;原生js的页面加载完成之后,除了要等浏览器内核解析完标签创建好Dom对象,还要等标签显示时需要的内容加载完成。
  • 触发顺序:1.jQuery页面加载完成之后执行;2.原生js的页面加载完成之后再执行。
  • 执行的次数:原生js的页面加载完成之后,只会执行最后一次的赋值函数;jQuery的页面加载完成之后是全部把注册的function函数依次顺序全部执行。

1.8.2 jQuery中的常用事件处理方法

  • click()可以绑定单击事件(传函数),以及触发单击事件(不传函数);
  • mouseover()鼠标移入事件;
  • mouseout鼠标移出事件;
  • bind()可以给元素一次绑定一个或多个事件;
  • one()使用上和bind方法一样,但是one方法绑定的事件只会响应一次;
  • live()跟bind方法相反的操作,解除事件的绑定;
  • unbind()可以用来绑定选择器匹配的所有元素的部件,哪怕这个元素是后面动态创建出来的也有效。

1.8.3 事件的冒泡

即父子元素同时监听一个事件,当触发子元素的事件时,同一个事件也被传递到了父元素的事件里去响应,通过在事件的函数体内加return false来阻止冒泡传递。

1.8.4 事件对象

是封装有触发的事件信息的一个js对象。在元素绑定时,在事件的function(event)参数列表添加一个参数,一般我们取为event。这个event就是js传递参数事件处理函数的事件对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值