JQuery学习&资料整理

要求时间:3天
第一天:
jQuery是一个JavaScript函数库。
jQuery 极大地简化了 JavaScript 编程。

jQuery库包含以下功能:
HTML元素选取
HTML元素操作
CSS操作
HTML事件函数
JavaScript特效和动画
HTMLDOM遍历和修改
AJAX
Utilities

在项目中如何引入JQuery?
JQuery就是一个文件,下载后放到项目根目录
在index首页head处添加

<script src="jquery-3.1.1.js"></script>

jQuery 使用 $ 符号作为 jQuery 的简写。

1、JQuery语法

通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行”操作”(actions)。
jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。
short way:先抓取元素,再操作元素。
基础语法:$(selector).action()
美元符号定义JQuery
选择符(selector)”查询”和”查找” HTML 元素
jQuery 的 action() 执行对元素的操作
实例:

$(this).hide() - 隐藏当前元素
$("p").hide() - 隐藏所有 <p> 元素
$("p.test").hide() - 隐藏所有 class="test" 的 <p> 元素
$("#test").hide() - 隐藏所有 id="test" 的元素

写法

文档就绪事件,为什么,比如:试图隐藏一个不存在的元素、获得未完全加载的图像的大小。
写法1:

$(document).ready(function() {
// JQuery代码
});

写法2:
简介写法

$(fucntion() {
// JQuery代码
});

JQuery选择器

jQuery 中所有选择器都以美元符号开头:$()。
1.元素选择器$("p")
2.#id选择器$("#test")
3..class选择器$(".test")

这句后面不是函数,而是一个CSS设置,令我不解的是口号内容并不是property:value;的形式

$("tr:odd").css("background-color","yellow");

经自己写的JQuery函数独立成文件

JQuery事件

页面对不同访问者的响应叫做事件。
事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。

常见DOM事件

鼠标事件键盘事件表单事件文档/窗口事件
clickkeypresssubmitload
dblclickkeydownchangeresize
mouseenterkeyupfocusscroll
mouseleaveblurunload

在 jQuery 中,大多数 DOM 事件都有一个等效的 jQuery 方法。

常用的JQuery事件方法
(document).ready() (document).ready() 方法允许我们在文档完全加载完后执行函数。该事件方法在 jQuery 语法 章节中已经提到过。
click()
click() 方法是当按钮点击事件被触发时会调用一个函数。
该函数在用户点击 HTML 元素时执行。

blur() 当元素市区焦点是,触发blur事件。

JQuery效果

1.隐藏和显示

$(selector).hide(speed,callback);
$(selector).show(speed,callback);

2.淡入淡出

$("p.fade").fadeIn("slow");
$("p.fade").fadeOut("slow");
$("p.fade").fadeToggle("slow");
$(selector).fadeTo(speed,opacity,callback); 所有元素应该都可以使用,后边的参数是不透明度(值介于 01 之间)

3.滑动

$(selector).slideToggle(speed,callback);
$(selector).slideUp(speed,callback);
$(selector).slideDown(speed,callback);

第二天

4.动画

$(selector).animate({params},speed,callback);
params是css属性,也就是说通过重设元素的CSS属性实现动画效果。

$(selector).stop(stopAll,goToEnd);
可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。

5.Callback

JQuery HTML

1.捕获 获取内容和属性

DOM = Document Object Model(文档对象模型)
获得内容 - text()、html() 以及 val()

alert("Text: " + $("#test").text());
alert("HTML: " + $("#test").html());
alert("值为: " + $("#test").val());

以上这三个方法,括号内如果跟值,那就变成了设置新值,为空则表示抓取现有值。

2.添加元素

$("p").prepend("在开头追加文本");

添加若干新元素

<script>
function appendText(){
    var txt1="<p>文本。</p>";              // 使用 HTML 标签创建文本
    var txt2=$("<p></p>").text("文本。");  // 使用 jQuery 创建文本
    var txt3=document.createElement("p");
    txt3.innerHTML="文本。";               // 使用 DOM 创建文本 text with DOM
    $("body").append(txt1,txt2,txt3);        // 追加新元素
}
</script>

3.删除元素

删除元素/内容
如需删除元素和内容,一般可使用以下两个 jQuery 方法:
remove() - 删除被选元素(及其子元素)
empty() - 从被选元素中删除子元素

$("#div1").remove(); 
$("#div1").empty();

过滤被删除的元素

$("p").remove(".italic");

4.获取并设置CSS类

$("h1,h2,p").addClass("blue");
$("div").addClass("important");添加指定的样式
$("h1,h2,p").removeClass("blue");删除指定的样式
$("h1,h2,p").toggleClass("blue");

5.css()方法

alert("背景颜色 = " + $("p").css("background-color"));
$("p").css("background-color","yellow");

6.JRuery尺寸

$("button").click(function(){
    var txt="";
    txt+="Width of div: " + $("#div1").width() + "</br>";
    txt+="Height of div: " + $("#div1").height();
    $("#div1").html(txt);
  });

jQuery innerWidth() 和 innerHeight() 方法
innerWidth() 方法返回元素的宽度(包括内边距)。
innerHeight() 方法返回元素的高度(包括内边距)。

jQuery outerWidth() 和 outerHeight() 方法
outerWidth() 方法返回元素的宽度(包括内边距和边框)。
outerHeight() 方法返回元素的高度(包括内边距和边框)。

JQuery遍历

这里的遍历指什么?
jQuery 遍历,意为”移动”,用于根据其相对于其他元素的关系来”查找”(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。通过 jQuery 遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞)。这种移动被称为对 DOM 进行遍历。

1.遍历祖先

jQuery parent() 方法—>找你爸

$("span").parent().css({"color":"red","border":"2px solid red"});

jQuery parents() 方法—>一直找到你祖宗

$("span").parents(可以加过滤"ul").css({"color":"red","border":"2px solid red"});

jQuery parentsUntil() 方法—>就查到往上第几辈人

$("span").parentsUntil("div").css({"color":"red","border":"2px solid red"});

2.遍历后代

jQuery children() 方法—>找孩子

$("div").children("可加过滤").css({"color":"red","border":"2px solid red"});

jQuery find() 方法—>找所有后代

$("div").find("span").css({"color":"red","border":"2px solid red"});
$("div").find("*").css({"color":"red","border":"2px solid red"});

3.遍历同胞

$("h2").siblings().css({"color":"red","border":"2px solid red"})所有同胞;
$("h2").next().css({"color":"red","border":"2px solid red"});下一个同胞
$("h2").nextAll().css({"color":"red","border":"2px solid red"});剩下顺序的所有同胞
$("h2").nextUntil("h6").css({"color":"red","border":"2px solid red"});剩下的区间同胞但不包括h6

jQuery prev(), prevAll() & prevUntil() 方法,同上反方向遍历。

4.遍历过滤

$("div p").first().css("background-color","yellow");返回第一个找到的$("div p").last().css("background-color","yellow");返回最后一个
$("p").eq(1).css("background-color","yellow");返回索引等于1的元素并设置背景色
$("p").filter(".url").css("background-color","yellow");返回所有p.url的元素并设置背景色
$("p").not(".url").css("background-color","yellow");和filter反向

JQuery AJAX 简介

第三天
AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。

1.JQuery ajax()方法

ajax() 方法用于执行 AJAX(异步 HTTP)请求。
所有的 jQuery AJAX 方法都使用 ajax() 方法。该方法通常用于其他方法不能完成的请求。
语法:$.ajax({name:value, name:value, … })

为所有 AJAX 请求设置默认 URL 和 success 函数:

$("button").click(function(){
$.ajaxSetup({url:"demo_ajax_load.txt",success:function(result){
$("div").html(result);}});
$.ajax();
}); 

2.jQuery ajaxSetup() 方法

ajaxSetup() 方法为将来的 AJAX 请求设置默认值

$("button").click(function(){
$.ajaxSetup({url:"demo_ajax_load.txt",success:function(result){
    $("div").html(result);}});
    $.ajax();
});

语法:$.ajaxSetup({name:value, name:value, … })
参数表有很多,需要的时候再查。

3.jQuery get()方法

$.get(“test.php”);

请求 “test.php” 并连同请求发送一些额外的数据(忽略返回结果):
$.get(“test.php”, { name:”Donald”, town:”Ducktown” });

请求 “test.php” 并传递数据数组到服务器(忽略返回结果):
$.get(“test.php”, { ‘colors[]’ : [“Red”,”Green”,”Blue”] });

请求 “test.php” 并提醒请求的结果:
$.get(“test.php”, function(data){
alert(“Data: ” + data);
});

语法:
$.get(URL,callback);
$.get(URL,data,function(data,status,xhr),dataType)

URL:必需,请求的URL
data:可选,规定联通请求发送到服务器的数据
function(data,status,xhr):可选,请求成功时运行的函数
data:返回的数据
status:请求的状态(“success”,”notmodified”,”error”,”timeout”,”parsererror”)
xhr:包含XMLHttpRequest对象
dataType:预期的服务器相应类型
“xml”,”html”,”text”,”script”,”json”,”jsonp”
在对话框中输出空格
alert(“数据: ” + data + “\n状态: ” + status);

4.jQuery getJSON()方法

语法:$(selector).getJSON(url,data,success(data,status,xhr))

5.jQuery getScipt()方法

使用 AJAX 请求,获取和运行 JavaScript:
(button).click(function()$.getScript(demoajaxscript.js);); (selector).getScript(url,success(response,status))
success:可选

6.JQuery param()方法

对象序列化

7.JQuery post()方法

$(document).ready(function(){
    $("button").click(function(){
        $.post("/try/ajax/demo_test_post.php",{
            name:"菜鸟教程",
            url:"http://www.runoob.com"
        },
        function(data,status){
            alert("数据: \n" + data + "\n状态: " + status);
        });
    });
});

后面的function为回调函数

语法:
$.post(URL,data,callback); $(selector).post(URL,data,function(data,status,xhr),dataType)
$.post("/try/ajax/demo_test_post.php",
    {
        name:"菜鸟教程",
        url:"http://www.runoob.com"
    },
        function(data,status){
        alert("数据: \n" + data + "\n状态: " + status);
    }); 

8.JQuery ajaxComplete()方法

$(document).ready(function(){
    $(document).ajaxStart(function(){
        $("#wait").css("display","block");
    });
    $(document).ajaxComplete(function(){
        $("#wait").css("display","none");
    });
    $("button").click(function(){
        $("#txt").load("demo_ajax_load.php");
    });
});

ajaxStart,首先运行的ajax
ajaxComplete上面ajax执行完,将等待控件隐藏。

9.JQuery ajaxError()方法

$(document).ajaxError(function(){
        alert("一个错误发生!");
    });

没有看到弹窗,书名没出错,
ajaxError() 方法规定 AJAX 请求失败时运行的函数。

10.JQuery ajaxSend()方法

ajaxSend() 方法规定 AJAX 请求即将发送时运行的函数。

$(document).ajaxSend(function(e,xhr,opt){
        $("div").append("<p>Requesting " + opt.url + "</p>");
    });
    $("button").click(function(){
        $("div").load("demo_ajax_load.php");
    });

ajaxSend在下面ajax之前限制性,捕捉的参数刚好为当前要执行的ajax,可以做监控或标志什么的。

11.JQuery ajaxStart()方法

$(document).ajaxStart(function(){
        alert("run before ajax below")
        $(this).html("<img src='demo_wait.gif' />");
    });
    $("button").click(function(){
        $("div").load("demo_ajax_load.php");
    });

ajaxStart() 方法规定 AJAX 请求开始时运行的函数。

12.JQuery ajaxStop()方法

$(document).ajaxStop(function(){
        alert("所有 AJAX 请求已完成");
    });
    $("button").click(function(){
        $("div").load("demo_ajax_load.txt");
        $("div").load("demo_ajax_load.php");
    });

ajaxStop() 方法规定所有的 AJAX 请求完成时运行的函数。

Q:什么叫“自 jQuery 版本 1.8 起,该方法只被附加到文档”?

13.JQuery ajaxSuccess()方法

$(document).ajaxSuccess(function(){
        alert("AJAX 请求完成");
    });
    $("button").click(function(){
        $("div").load("demo_ajax_load.txt");
    });

ajaxSuccess() 方法规定 AJAX 请求成功完成时运行的函数。
注:这应该是通用方法,谁成功了都会问一问它。function里可带参数,做些判断,比如:

$(document).ajaxSuccess(function(e,xhr,opt){
    if (opt.url == "demo_ajax_load.txt") {
      alert("AJAX 请求完成");
    };

14.JQuery load()方法

jQuery load() 方法是简单但强大的 AJAX 方法。
load() 方法从服务器加载数据,并把返回的数据放入被选元素中。
把文件 “demo_test.txt” 的内容加载到指定的

元素:

$("button").click(function(){
        $("#div1").load("/try/ajax/demo_test.txt");
    });

语法:$(selector).load(url,data,function(response,status,xhr))
function(response,status,xhr) means callback

也可以把 jQuery 选择器添加到 URL 参数。
$(“#div1”).load(“demo_test.txt #p1”);有空格
这样可以选择性的加载。

15.JQuery serialize()方法

$("button").click(function(){
        $("div").text($("form").serialize());
    });

serialize() 方法通过序列化表单值创建 URL 编码文本字符串。
序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。
怎么根据将检索的值编辑成url格式的字符串,序列化。
语法:$(selector).serialize()

16.JQuery serializeArray()方法

serializeArray() 方法通过序列化表单值来创建对象(name 和 value)的数组。
语法:$(selector).serializeArray()

$("button").click(function(){
        x=$("form").serializeArray();
        $.each(x, function(i, field){
            $("#results").append(field.name + ":" + field.value + " ");
        });
    });

用法:将表单项以数组的形式序列化
serializeArray() 方法通过序列化表单值来创建对象(name 和 value)的数组。

JQuery 杂项 data()方法

在元素上挂载数据,但不在元素上显示
data() 方法向被选元素附加数据,或者从被选元素获取数据。
removeData() 方法移除之前通过 data() 方法设置的数据。
语法:$(selector).removeData(name)
name:可选。规定要移除的数据的名称。如果没有规定名称,该方法将从被选元素中移除所有已存储的数据。

$(document).ready(function(){
    testObj=new Object();
    testObj.greetingMorn="Good Morning!";
    testObj.greetingEve="Good Evening!";
    $("#btn1").click(function(){
        $("div").data(testObj);
    });
    $("#btn2").click(function(){
        alert($("div").data("greetingEve"));
    });
});

上面的testObj,很好的表现了JavaScript的写法,
还可以使用对象: $(selector).data(object)

jQuery 杂项 toArray() 方法

toArray() 方法以数组的形式返回 jQuery 选择器匹配的元素。

$("button").click(function(){
        x=$("li").toArray() // toArray方法
        for (i=0;i<x.length;i++)
        {
            alert(x[i].innerHTML);// innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。
        }
    });

jQuery jquery 属性

返回jQuery 的版本号。

var version = $().jquery; 
alert("你正在运行的jQuery版本为: " + version);

jQuery jQuery.fx.interval 属性

$("#toggle").on("click",function(){
    $("div").toggle(5000);
});
$("#interval").on("click",function(){
    jQuery.fx.interval = 500;
}); 

语法:jQuery.fx.interval = milliseconds;
milliseconds 必需。规定以毫秒计的动画运行速率。默认是 13 毫秒。
jQuery.fx.off 属性用于对所有动画进行全局禁用或启用。
jQuery.fx.off = true|false;

jQuery jQuery.support 属性

jQuery.support.ajax:看浏览器是否支持ajax

jQuery length 属性

alert($("li").length);

jQuery - noConflict() 方法

当涉及多JS框架是,为了避免冲突引用 jquery使 作为jQuery的简写,其他框架有的也会用。
如果两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。
noConflict() 方法会释放会 $ 标识符的控制,这样其他脚本就可以使用它了。

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery 仍然在工作!");
  });
}); 
var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery 仍然在工作!");
  });
}); 

如果你的 jQuery 代码块使用 $ 简写,并且您不愿意改变这个快捷方式,那么您可以把 $ 符号作为变量传递给 ready 方法。这样就可以在函数内使用 $ 符号了 - 而在函数外,依旧不得不使用 "jQuery"// $.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery 仍然在工作!");
  });
}); 

JSONP教程

Jsonp(JSON with Padding垫) 是 json 的一种”使用模式”,可以让网页从别的域名(网站)那获取资料,即跨域读取数据。
同源策略,它是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript 的浏览器都会使用这个策略。同源不支持跨区。
JSONP 应用
1.服务端JSONP格式数据
2.客户端实现 callbackFunction 函数
3.jQuery 使用 JSONP
没太看懂,有时间在研究。

JQuery实例

都已看过,遇到问题时,再查阅。
链接:http://www.runoob.com/jquery/jquery-examples.html

JQuery参考手册

此部分作参考查询
链接:http://www.runoob.com/jquery/jquery-ref-selectors.html
1.JQuery选择器:列举了所有元素不同情况的抓取方法。
2.JQuery事件方法:列举了所有事件方法,可用于监听不同事件,然后做出需要的响应。
3.JQuery效果方法:列举了所有用于创建动画效果的 jQuery 方法。
4.JQuery HTML/CSS方法:列举了所有用于处理 HTML 和 CSS 的 jQuery 方法。
5.JQuery遍历方法:列举了所有遍历DOM的方法。
6.JQuery AJAX方法:列举了所有 jQuery AJAX 方法。
7.JQuery杂项方法
8.JQuery实用工具
9.JQuery回调对象
10.JQuery延迟对象
11.JQuery属性

JQuery插件

用时再说
1.JQuery Validate:表单验证
2.JQuery Accordion:jQuery Accordion 做复杂下拉列表会用到
插件用于创建折叠菜单。它通常与嵌套的列表、定义列表或嵌套的 div 一起使用。选项用于指定结构、激活的元素和定制的动画。
3.JQuery Autocomplete:搜索条只能提示,提前检索,匹配。
4.JQuery Message:提示信息,显示后小时。(有问题)
5.jQuery Password Validation(密码验证):可显示密码安全等级。
6.jQuery Prettydate:日期验证相关
7.JQuery Tooltip:悬浮提示
8.jQuery 树型菜单插件(Treeview):将元素生成菜单树视图

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值