JQuery中的$,复习指南,“金三银四”春招指南

31,377次阅读
没有评论

共计 4334 个字符,预计需要花费 11 分钟才能阅读完成。

.para {margin-top:5px; text-indent:2em;background:#DDD;}

已有评论:

在上面的代码中,在 jQuery 部分,当返回数据成功后,首先清空 id 为“resText”的元素的内容,以便重新构造新的 HTML,然后通过 $.each() 循环函数依次遍历每个项,并将遍历出来的内容构建成 HTML 代码拼接起来,最后将构建好的 HTML 添加到 id 为“resText”的元素中。


不仅如此,还能通过使用 JSONP 形式的回调函数来加载其他网站的 JSON 数据,例如从图片网站(http://Flicker.com)搜索汽车类别的 4 张最新图片。代码如下:(假设你已经对 JSONP 有了解——不熟悉 JSONP 的同学可以看我的这篇文章:关于 JSON 和 JSONP 的详解)

上面的代码中再次用到全局函数 $.each() 来遍历数据,因为只需要 4 张图片,所以当 i = 3 的时候就需要退出循环。在 $.each()函数中,如果需要退出 each 循环,只要返回 false 即可。


关于 JSON 和 JSONP 的详解


$.ajax()方法

==========

$.ajax()方法是 jQuery 最底层的 Ajax 实现。

它的结构为:

$.ajax(options)

该方法只有 1 个参数,但在这个对象里包含了 $.ajax()方法所需要的请求设置以及回调函数等信息,参数以 key/value 的形式存在,所有参数都是可选的。

前面用到的 $.load()$.get()$.post()$getScript()$.getJSON()这些方法,都是基于 $.ajax() 方法构建的,$.ajax()方法是 jQuery 最底层的 Ajax 实现,因此可以用它来代替前面的所有方法。

例如,可以使用下面的 jQuery 代码代替 $.getScript 方法:

$(function(){

$(‘#send’).click(function() {

$.ajax({

type:“GET”,

url:“test.js”,

dataType:“script”

});

});

});

再例如,可以使用以下 jQuery 代码来代替 $.getJSON() 方法:

$(function(){

$(‘#send’).click(function() {

$.ajax({

type:“GET”,

url:“test.json”,

dataType:“json”,

success : function(data){

$(‘#resText’).empty();

var html =‘’;

$.each(data , function(commentIndex, comment) {

html +=‘

’+ comment[‘username’] +‘:

’+ comment[‘content’] +‘

’;

});

$(‘#resText’).html(html);

$(‘#resText’).val(html);

}

});

});

});


序列化

===

最后,讲解一下 序列化元素

1.serialize()方法


做项目的过程中,表单是必不可少的,经常用来提供数据,例如注册、登录等。常规的方法是使表单提交到另一个页面,整个浏览器都会被刷新,而使用 Ajax 技术则能够异步的提交表单,并将服务器返回的数据显示在当前页面中。

前面在讲解 $.get()$.post()方法的时候,表单的 HTML 代码如下:

评论:

姓名:

为了获取姓名和内容,必须将字段的值逐个添加到 data 参数中。代码如下:

$(‘#send’).click(function() {

$.get(“get1.php”, {

username:$(‘#username’).val(),

content:$(‘#content’).val()

},function(data,textStatus){

$(‘#resText’).html(data); // 将返回的数据添加到页面上

});

});

这种方式只有少量字段的表单中,勉强还可以用,但如果表单元素越来越复杂,使用这种方式在增大工作量的同时也使表单缺乏弹性。jQuery 为这一常用的操作提供了一个简化的方法——serialize()。与 jQuery 中其他方法一样,serialize()方法也是作用于一个 jQuery 对象,它能够将 DOM 元素内容序列化为字符串,用于 Ajax 请求。通过使用 serialize()方法,可以把刚才的 jQury 代码改为如下:

$(‘#send’).click(function() {

.

g

e

t

(

g

e

t

1.

p

h

p

,

.get(“get1.php”,

.get(get1.php,(‘#form1’).serialize(),function(data,textStatus){

$(‘#resText’).html(data); // 将返回的数据添加到页面上

});

});

我们可以看到使用 serialize() 与前面那个逐个传参的效果是一样的。

而且这种,即使在表单中再增加字段,脚本仍然能够使用,并且不需要做其他多余工作。

需要注意的是,$.get()方法中 data 参数不仅可以使用映射方式,如以下 jQuery 代码:

{

username: $(‘#username’).val(),

conent: $(‘#content).val()

}

也可以使用字符串方式,如以下 jQuery 代码:

“username=”+ encodeURIComponent(KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 3: (‘#̲username’).val(…(‘#content’).val())

用字符串方式时,需要注意对字符编码(中文问题),如果不希望编码带来麻烦,可以使用 serialize() 方法,它会自动编码。

因为 serialize() 方法作用于 jQuery 对象,所以不光只有表单能使用它,其他选择器选取的元素也都能使用它,如以下 jQuery 代码:

$(“:checkbox,:radio”).serialize();

把复选框和单选框的值序列化为字符串形式,只会将选中的值序列化。

2.serializeArray()方法


在 jQuery 中还有一个与 serialize()类似的方法——serializeArray(),该方法不是返回字符串,而是将 DOM 元素序列化后,返回 JSON 格式的数据。jQuery 代码如下:

var fields = $(“:checkbox,:radio”).serializeArray();

console.log(fields);

通过 console.log()方法输出 fields 对象,然后在浏览器的 F12 中查看该对象。

JQuery 中的 $,复习指南,“金三银四”春招指南

既然是一个对象,那么就可以使用 $.each() 函数对数据进行迭代输出。代码如下:

$(function() {

var fields = $(“:checkbox,:radio”).serializeArray();

console.log(fields);

$.each(fields,function(i,field){

$(‘#results’).append(fiels.value + ” , “);

});

});

3.$.param()方法


它是 serialize()方法的核心,用来对一个数组或对象按照 key/value 进行序列化。

例如:

var obj = {a:1,b:2,c:3};

var k = $.param(obj);

alert(k); // 输出 a =1&b=2&c=3

TIP

===

$.ajax() 方法是

.

g

e

t

.get、

.get.post 等一系列方法的基础,这些方法的底层还是调用 $.ajax() 方法。拿一小段源码来看一下:

getJSON: function(url,data,callback) {

return jQuery.get(url,data,callback,“json”);

}

get: function(url,data,callback,type) {

// shift arguments if data argument was omited

if(jQuery.isFunction(data)) {

type = type || callback;

callback = data;

data = null;

}

return jQuery.ajax({

type:“GET”,

url: url,

data: data,

小编 13 年上海交大毕业,曾经在小公司待过,也去过华为、OPPO 等大厂,18 年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024 年 Web 前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

JQuery 中的 $,复习指南,“金三银四”春招指南
JQuery 中的 $,复习指南,“金三银四”春招指南
JQuery 中的 $,复习指南,“金三银四”春招指南
JQuery 中的 $,复习指南,“金三银四”春招指南

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面 V 无偿领取!(备注:前端)
JQuery 中的 $,复习指南,“金三银四”春招指南

算法

  1. 冒泡排序

  2. 选择排序

  3. 快速排序

  4. 二叉树查找: 最大值、最小值、固定值

  5. 二叉树遍历

  6. 二叉树的最大深度

  7. 给予链表中的任一节点,把它删除掉

  8. 链表倒叙

  9. 如何判断一个单链表有环

由于篇幅限制小编,pdf 文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

中…(img-93XF4Asf-1710799034813)]
[外链图片转存中…(img-q6ggjeJE-1710799034814)]
[外链图片转存中…(img-5MQjeUqG-1710799034815)]
[外链图片转存中…(img-kk3MCJfj-1710799034815)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面 V 无偿领取!(备注:前端)
[外链图片转存中…(img-kZPU35rt-1710799034816)]

算法

  1. 冒泡排序

  2. 选择排序

  3. 快速排序

  4. 二叉树查找: 最大值、最小值、固定值

  5. 二叉树遍历

  6. 二叉树的最大深度

  7. 给予链表中的任一节点,把它删除掉

  8. 链表倒叙

  9. 如何判断一个单链表有环

    [外链图片转存中…(img-XFo9oNfd-1710799034817)]

由于篇幅限制小编,pdf 文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

开源分享:【大厂前端面试题解析 + 核心总结学习笔记 + 真实项目实战 + 最新讲解视频】

原文地址: JQuery 中的 $,复习指南,“金三银四”春招指南

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-10-02发表,共计4334字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)