JS20:初始JQuery及使用

jQuery 简介

jQuery 是一个快速、小巧且功能丰富的 JavaScript 库。它使 HTML 文档遍历和操作、事件处理、动画和 Ajax 等功能变得更加简单,它具有易于使用的 API ,可跨多种浏览器运行。凭借多功能性和可扩展性的结合,jQuery 改变了数百万人编写 JavaScript 的方式。

jQuery 的理念:“wirte less, do more.”

获取 jQuery

jQuery 官网:jQuery

jQuery 中文文档:jQuery API 中文文档 | jQuery API 中文在线手册 | jquery api 下载 | jquery api chm (cuishifeng.cn)

进入官网,点击 Download jQuery 按钮

然后选择要下载的版本和类型,一般本地下载开发环境的。

然后放进项目的文件夹下,通过 script 标签的 src 属性指定 jquery 文件

或者可以不下载,搜索 cdn jQuery,引入链接调用在线的 jquery

比如:jQuery cdn加速 (jq22.com)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 引用在线的 jQuery -->
    <script src="https://libs.baidu.com/ext-core/3.1.0/ext-core.js"></script>
    <!-- 引用下载 jQuery -->
    <script src="lib/jquery-3.6.0.js"></script>
</head>
<body></body>
</html>

jQuery 公式

$(selector).action()

其中

        $:代表 jQuery

        selectot:选择器,css 的选择器都可以用

        action:调用的事件

实例:

点击链接弹出 alert

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="lib/jquery-3.6.0.js"></script>
</head>
<body>
<a href="" id="test">点我</a>
</body>
<script>
    // js 的写法
    // const test = document.getElementById('test');
    // test.onclick = function () {
    //     alert('hello jQuery')
    // }

    // jquery
    $('#test').click(function () {
        alert('hello jQuery')
    })
</script>
</html>

jQuery 的选择器

$('标签名').action()	  // 标签选择器
$('#id').action()	  // id选择器
$('.class').action()  // class选择器

等等,更多的可以在 jQuery API 中文文档 | jQuery API 中文在线手册 | jquery api 下载 | jquery api chm (cuishifeng.cn) 查看

jQuery 的事件

分为:键盘事件、鼠标事件、其他事件

实例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script src="lib/jquery-3.6.0.js"></script>
    <style>
      #divMove {
        width: 500px;
        height: 500px;
        border: 2px solid rebeccapurple;
      }
    </style>
</head>
<body>
    <!--要求:获取鼠标当前的一个坐标 -->
    mouse:<span id="mouse"></span>

    <div id="divMove">
      在这里移动鼠标试试
    </div>
</body>
<script>
  // 当网页元素加载完毕,响应事件
  // $(document).ready(function () {})
  // 简写版
  $(function () {
    $('#divMove').mousemove(function (e) {
      $('#mouse').text('x:' + e.pageX + ' y:' + e.pageY)
    })
  })
</script>
</html>

执行效果:

在框里移动鼠标,坐标会发送变化

jQuery 操作 DOM 元素

节点文本操作

通过调用 text() 和 html();如果没有参数则是获取,如果有参数则是设置。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="lib/jquery-3.6.0.js"></script>
</head>
<body>
   <ul id="test-ul">
       <li id="js">JavaScript</li>
       <li id="java">Java</li>
   </ul>
</body>
<script>
  // 获得值
  $('#test-ul li[id=js]').text();  // 'JavaScript'
  $('#test-ul').html();
  // 设置值
  $('#test-ul li[id=js]').text('123456');
  $('#test-ul').html('<strong>123</strong>');
</script>
</html>

CSS 的操作

调用 css() 事件:

如果是获取属性:css('属性名')

如果是设置一个属性:css('属性名', '属性值')

如果是设置多个属性:css({ '属性名': '属性值', '属性名': '属性值', ...})

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="lib/jquery-3.6.0.js"></script>
</head>
<body>
   <ul id="test-ul">
       <li id="js">JavaScript</li>
       <li id="java">Java</li>
   </ul>
</body>
<script>
  // 获取 css 属性
  $('#java').css('color');  // 'rgb(255, 0, 0)'
  // 设置单个 css 属性
  $('#java').css('color', 'red');
  // 设置多个 css 属性
  $('#java').css({'color': 'red', 'backgroundColor': 'green'});
</script>
</html>

元素的显示和隐藏

通过 show() 设置显示元素;

通过 hide() 设置隐藏元素;

本质是 display: none;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="lib/jquery-3.6.0.js"></script>
</head>
<body>
   <ul id="test-ul">
       <li id="js">JavaScript</li>
       <li id="java">Java</li>
   </ul>
</body>
<script>
  // 元素显示
  $('#java').show();
  // 元素隐藏
  $('#java').hide();
</script>
</html>

Ajax

jQuery 在全局对象中绑定了 ajax() 函数,可以处理 AJAX 请求。

ajax(url, settings) 函数需要接收一个 URL 和一个可选的 settings 对象,常用的选项如下:

  • async:是否异步执行 ajax 请求,默认为 true,千万不要指定为 false;
  • method:发送的 method,缺省为 "GET",可指定为 "POST"、"PUT" 等;
  • contentType:发送 POST 请求的格式,默认值为 'applicatoin/x-www-form-urlencoded; charset=UTF-8',也可以指定为 text/plain、application/json;
  • data:发送的数据,可以是字符串、数组或 object 。如果是 GET 请求,data 将被转换成 query 附加到 url 上,如果是 POST 请求,根据 contentType 把 data 序列化成合适的格式;
  • headers:发送的额外的 HTTP 头,必须是一个 object;
  • dataType:接收的数据格式,可以指定为 'html'、'xml'、'json'、'text' 等,缺省情况下根据相应的 contentType 猜测。

下面的例子发送一个 GET 请求,并返回一个 JSON 格式的数据:

var jqxhr = $.ajax('/api/categories', {
    dataType: 'json'
});
// 请求已经发送了

不过,如何用回调函数处理返回的数据和出错时的响应呢?

var jqxhr = $.ajax('/api/categories', {
    dataType: 'json'
}).done(function (data) {
    ajaxLog('成功, 收到的数据: ' + JSON.stringify(data));
}).fail(function (xhr, status) {
    ajaxLog('失败: ' + xhr.status + ', 原因: ' + status);
}).always(function () {
    ajaxLog('请求完成: 无论成功或失败都会调用');
});

get

对常用的 ajax 操作,jQuery 提供了一些辅助的方法。由于 GET 请求最常见,所以 jQuery 提供了 get() 方法,可以这么写:

var jqxhr = $.get('/api/v1/resource', {
    name: 'Bob Lee',
    check: 1
});

第二个参数如果是 object,jQuery 自动把它变成 query string 然后加到 url 后面,实际的 url 是:

/path/to/resource?name=Bob%20Lee&check=1

post

post() 和 get() 类似,但是传入的第二个参数默认被序列化为 application/x-www-form-urlencoded:

var jqxhr = $.post('/api/v1/resource', {
    name: 'Bob Lee',
    check: 1
});

实际构造的数据 name=Bob%20Lee&check=1 作为 POST 的 body 被发送。 

getJSON

由于 JSON 用的越来越普遍,所以 jQuery 也提供了 getJSON() 方法来快速通过 GET 获取一个 JSON 对象:

var jqxhr = $.getJSON('/path/to/resource', {
    name: 'Bob Lee',
    check: 1
}).done(function (data) {
    // data已经被解析为JSON对象了
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值