前端学习记录 Day4(jQuery)

Day 4

2019年6月23日。
这是我学习前端的第四天。
这一天,我学到了以下的知识。

jQuery简介

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

jQuery特点

快速获取文档元素
jQuery的选择机制构建于Css的选择器,它提供了快速查询DOM文档中元素的能力,而且大大强化了JavaScript中获取页面元素的方式。

提供漂亮的页面动态效果
jQuery中内置了一系列的动画效果,可以开发出非常漂亮的网页,许多网站都使用jQuery的内置的效果,比如淡入淡出、元素移除等动态特效。

创建AJAX无刷新网页
AJAX是异步的JavaScript和ML的简称,可以开发出非常灵敏无刷新的网页,特别是开发服务器端网页时,比如PHP网站,需要往返地与服务器通信,如果不使用AJAX,每次数据更新不得不重新刷新网页,而使用AJAX特效后,可以对页面进行局部刷新,提供动态的效果。

提供对JavaScript语言的增强
jQuery提供了对基本JavaScript结构的增强,比如元素迭代和数组处理等操作。

增强的事件处理
jQuery提供了各种页面事件,它可以避免程序员在HTML中添加太事件处理代码,最重要的是,它的事件处理器消除了各种浏览器兼容性问题。

更改网页内容
jQuery可以修改网页中的内容,比如更改网页的文本、插入或者翻转网页图像,jQuery简化了原本使用JavaScript代码需要处理的方式。

jQuery导入

1.前往jQuery官网 https://jquery.com/
下载最新版本jquery(当前最新版本为3.4.1)
在这里插入图片描述
2.在项目下面新建一个js文件夹,将下载的jQuery文件放入,即可完成导入
在这里插入图片描述

jQuery语言基础

选择器
jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。
jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的CSS 选择器,除此之外,它还有一些自定义的选择器。
jQuery 中所有选择器都以美元符号开头:$()。

元素选择器
jQuery 元素选择器基于元素名选取元素。

$("p")

在页面中选取所有 <p.> 元素

id 选择器
jQuery #id 选择器通过 HTML 元素的 id 属性选取指定的元素。
页面中元素的 id 应该是唯一的,所以您要在页面中选取唯一的元素需要通过 #id 选择器。
通过 id 选取元素语法如下:

$("#test")

class 选择器
jQuery 类选择器可以通过指定的 class 查找元素。
语法如下:

$(".test")

事件处理
jQuery 事件方法语法
在 jQuery 中,大多数 DOM 事件都有一个等效的 jQuery 方法。
页面中指定一个点击事件:

$("p").click();

下一步是定义什么时间触发事件。您可以通过一个事件函数实现:

$("p").click(function(){
    // 动作触发后执行的代码!!
});

常用的 jQuery 事件方法
1.$(document).ready()

$(document).ready() 方法允许我们在文档完全加载完后执行函数。该事件方法在jQuery 语法章节中已经提到过。
click()
click() 方法是当按钮点击事件被触发时会调用一个函数。
该函数在用户点击 HTML 元素时执行。
在下面的实例中,当点击事件在某个 <p.> 元素上触发时,隐藏当前的 <p.> 元素:

$("p").click(function(){
    $(this).hide();
});

2.dblclick()

当双击元素时,会发生 dblclick 事件。
dblclick() 方法触发 dblclick 事件,或规定当发生 dblclick 事件时运行的函数:

$("p").dblclick(function(){
    $(this).hide();
});

3.mouseenter()

当鼠标指针穿过元素时,会发生 mouseenter 事件。
mouseenter() 方法触发 mouseenter 事件,或规定当发生 mouseenter 事件时运行的函数。

$("#p1").mouseenter(function(){
    alert("You entered p1!");
});

4.mouseleave()

当鼠标指针离开元素时,会发生 mouseleave 事件。
mouseleave() 方法触发 mouseleave 事件,或规定当发生 mouseleave 事件时运行的函数:

$("#p1").mouseleave(function(){
    alert("Bye! You now leave p1!");
});

5.mousedown()

当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件。
mousedown() 方法触发 mousedown 事件,或规定当发生 mousedown 事件时运行的函数:

$("#p1").mousedown(function(){
    alert("Mouse down over p1!");
});

6.mouseup()

当在元素上松开鼠标按钮时,会发生 mouseup 事件。
方法触发 mouseup 事件,或规定当发生 mouseup 事件时运行的函数:

$("#p1").mouseup(function(){
    alert("Mouse up over p1!");
});

7.hover()

hover()方法用于模拟光标悬停事件。
当鼠标移动到元素上时,会触发指定的第一个函数(mouseenter);当鼠标移出这个元素时,会触发指定的第二个函数(mouseleave)。

$("#p1").hover(function(){
    alert("You entered p1!");
    },
    function(){
    alert("Bye! You now leave p1!");
});

8.focus()

当元素获得焦点时,发生focus事件。
当通过鼠标点击选中元素或通过tab键定位到元素时,该元素就会获得焦点。
focus()方法触发 focus 事件,或规定当发生focus事件时运行的函数。

$("input").focus(function(){
    $(this).css("background-color","#cccccc");
});

9.blur()

当元素失去焦点时,发生 blur 事件。
blur() 方法触发 blur 事件,或规定当发生 blur 事件时运行的函数:

$("input").blur(function(){
    $(this).css("background-color","#ffffff");
});

jQuery示例

  • 实现隔行变色
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!--引入jQuery-->
    <script src="js/jquery-3.4.1.js"></script>

</head>
<body>

<table border="1px" id="tb">
    <tbody>
        <tr>
            <td>第一行</td>
            <td>第一行</td>
        </tr>
        <tr>
            <td>第二行</td>
            <td>第二行</td>
        </tr>
        <tr>
            <td>第三行</td>
            <td>第三行</td>
        </tr>
        <tr>
            <td>第四行</td>
            <td>第四行</td>
        </tr>
        <tr>
            <td>第五行</td>
            <td>第五行</td>
        </tr>
        <tr>
            <td>第六行</td>
            <td>第六行</td>
        </tr>
        <tr>
            <td>第七行</td>
            <td>第七行</td>
        </tr>
    </tbody>

</table>

<script>
  /*  var a = document.getElementById("tb");
    var b = document.getElementsByTagName("tbody")[0];
    var c = document.getElementsByTagName("tr");

    console.log(a);
    console.log(b);
    console.log(c);

    for (var i = 0 ; i < c.length ; i++){
        if (i % 2 === 0){
            c[i].style.background = "yellow";

        }
    }*/
    $("tr:odd").css("background-color","#e8f0f2");
</script>


</body>
</html>
  • jQuery选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JQuery选择器</title>

    <!--引入jQuery-->
    <script src="js/jquery-3.4.1.js"></script>
</head>
<body>

<a href="">你好啊</a>
<p id="i">23333</p>
<div class="c">emmmmmmm...</div>
<span></span>
<input type="button" value="按压">


<script>

    //jQuery = $
    //$ or jQuery :就是jQuery的工厂函数 —— 将document对象加工为jQuery对象
    //(): 选择什么东西加工
    // .事件 : jQuery写好的各种各样的方法

    //万能公式 : $(选择器).事件(事件产生的函数);

    $("[value='按压']").keydown(function () {
        console.log(event.keyCode);

        if (event.keyCode === 13){
            console.log("你输入的是回车");
        }
        console.log("下去了")
    });
    $("[value='按压']").keypress(function () {
        console.log("压住了")
    });
    $("[value='按压']").keyup(function () {
        console.log("上来了")
    });



    $(document).ready(function () {
        alert("jQuery");
    });

    $("#i").click(function () {
        alert("你好啊");
    });

</script>

</body>
</html>
  • 隐式迭代
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!--引入jQuery-->
    <script src="js/jquery-3.4.1.js"></script>
</head>
<body>

<ul>
    <li class="a">111111</li>
    <li>222222</li>
    <li class="a">333333</li>
    <li>444444</li>
</ul>

<script>

    //隐式迭代,可以选择到一类标签元素
    $(".a").css({"font-size":"20px","background":"red"});

</script>
</body>
</html>

jQuery在线编辑器

http://www.miniui.com/demo/#src=datagrid/celledit.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赈川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值