jQuery学习笔记基础知识扫盲入门篇呱呱老师

提供了强大的功能函数解决浏览器兼容性问题实现丰富的UI纠正错误的脚本知识

2.常用的知识点

jquery的id选择器:$("#btnShow")事件绑定函数bind()显示和隐藏函数show()hide()修改元素内部html的函数html()

仅仅凭借多浏览器支持这一特性,就足以让我们学习并使用jquery,因为如今想编写跨浏览器的脚本真的是一件困难的事情!

--系列化学习方法,加手动敲代码,加上自己的观念在里面加以变化--

而不是简单的复制,粘贴运行看效果,那样是学不好知识的。多多练习才是王道!!

3.jquery新特性1.完美的js智能提示支持2.功能强大的选择器3.性能最佳的选择器4.支持多种浏览器5.优雅的链式语法$(".myClass").css("color","red").show();6.ajax操作$("#divRequest").load("../data/ajaxGetCityInfo.aspx",{"resultType":"html"})7.Datepicker日历控件8.dialog对话框控件9.tab控件10.accordion手风琴菜单控件11.progressbar进度条控件12.slider滑动条控件13.button按钮控件14.autocomplete自动提示控件15.易于扩展(基于jquery开发的日历框)16.jquerymobile开发基于移动互联网平台的炫丽应用

4.dom对象,jquery包装集对比vardiv=document.getElementById("testDiv");vardivs=document.getElementByTagName("div");

包装集${"#testDiv"}上面语句构造的包装集只含有一个id是testDiv的元素。

1.dom转jquery包装集vardiv=document.getElementById("testDiv");vardomToJQueryObject=${div};

2.jquery包装集转domvardomObject=$("#testDiv")[0];//注意:通过索引器返回的不再是jquery包装集,而是一个dom对象。

----------130615----------

7.目标,动态创建元素,管理jquery包装集,添加,删除,切片。

htmldom创建元素,几乎所有的浏览器都兼容。

//使用dom标准创建元素varselect=document.createElement("select");select.options[0]=newOption("加载项1","value1");select.options[1]=newOption("加载项2","value2");select.size="2";varobject=testDiv.appendChild(select);

以下是jquery创建对象的方法jquery(html,ownerDocument)returns:jquery

$("动态创建的jquery对象div

");

//jquery使用动态创建的$(document).ready(function)方法$(document).ready(function(){testDiv.innerHTML="动态创建的div

";});

//简便语法$(function(){testDiv.innerHTML="动态创建的div

";});

1.过滤Filtering$("p").eq(1)//获取匹配的第二个元素$("p").filter(".selected")//保留带有select类的元素$("div").filter(function(index){return$("ol",this).size()==0;});//保留子元素中不含有ol的元素$("input[type='checkbox']").parent().is("form")//由于input元素的父元素是一个表单元素,所以返回true$("p").append($("input").map(function(){return$(this).val();}).get().join(","))//把form中的每个input元素的值建立一个列表。

$("p").not($("#selected")[0])//从p元素中删除带有select的ID的元素$("p").slice(0,1)//选择第一个p元素

add(expr);添加至匹配的元素children([expr]);查找每个子元素。closest([expr]);取得表达式匹配的最新的父元素contents();查找匹配元素内部所有的子节点(包括文本节点)。find(expr);$("pspan")与$("p").find("span")相同。next(expr);后面相邻的同辈元素nextAll(expr);同上offsetParent();返回第一个有定位的父类parent(expr);父节点parents(expr);祖先元素prev(expr);前面相邻的同辈元素prevAll(expr);同上siblings(expr);同辈元素

串联ChainingandSelf()end()

----------------------class4----------------------8.获取和操作元素的属性和css样式

dom属性和元素属性是有区别的。实际浏览器最后会将标签元素解析成dom对象,并且将元素的元素属性存储为dom属性,两者是有区别的。举例:如果要设置元素的css样式类,使用的是dom属性className而不是元素的classimg1.className="classB";

javascript操作元素属性:getAttribute和setAttribute。对应jqueryattr(name);取得第一个匹配元素的属性值。如果没有相应的属性,则返回undefined。attr(properties);以名称/值对形式设置为所有匹配元素的属性。className属性而不是class,或者可以直接使用.addClass(class)和.removeClass(class)例如:$("img").attr({src:"test.jpg",alt:"TestImage"});attr(key,value);为所有匹配的元素设置一个属性值。attr(key,fn);fn表示提供一个函数,由这个函数计算的值作为属性值。removeAttr(name);从每一个匹配的元素中删除一个属性。

##修改css类##addClass(class)hasClass(class)removeClass(class);参数可选,如果不传入参数则移除全部的css类。toggleClass(class);如果存在就删除一个类,不存在就添加一个类。toggleClass(class,switch);当switch是true时添加类,否则为false时删除类。

--注意:addClass和removeClass一次可以传入多个css类,用空格分割。--

##修改css样式##即修改元素属性stylecss(name);访问第一个匹配元素的样式属性。css(properties);css(name,value);数字将自动转化为像素值。

----------------------class5----------------------document.getElementById("testDiv2").onclick=msg22;等效于单击事件2

实质上建立了一个匿名函数。document.getElementById("testDiv2").onclick=function(event){alert("@@@22");}弊端1.只能为一个事件绑定一个事件处理函数,使用=赋值会把前面为此事件绑定的所有事件处理函数冲掉。2.在事件函数(无论是匿名函数还是绑定函数)中获取事件对象的方式在不同浏览器中要特殊处理。

以前的事件绑定模式if(oTarget.addEventListener){//fordom

}elseif(oTarget.attachEvent){//forie

}

9.事件处理函数bind(type,[data],fn);one(type,[data],fn);一次性的事件处理函数.trigger(event,[data]);triggerHandler(event,[data]);unbind(type,fn);

2.使用脚本传值$("#testDiv4").bind("click",{customer2:"优一队列"},function(event){alert(event.data.customer2);});

trigger(event,[data])和triggerHandler(event,[data]);

##EventHelper##click()和click(fn)分别用来触发单击事件和设置单击事件.例如:设置单击事件:$("#testDiv").click(function(event){alert("testdivclick!");});等效于:$("#testDiv").bind("click",function(event){alert("testdivclick!");});触发单击事件:$("#testDiv").click();等效于:$("#testDiv").trigger("click");

其他EventHelperblur()blur(fn)change()change(fn)click()click(fn)dblclick()dblclick(fn)error()error(fn)focus()focus(fn)keydown()keydown(fn)keypress()keypress(fn)keyup()keyup(fn)load()load(fn)mousedown(fn)mouseenter(fn)mouseleave(fn)mousemove(fn)mouseout(fn)mouseover(fn)mouseup(fn)resize(fn)scroll(fn)select()select(fn)submit()submit(fn)unload(fn)

event.data,event.target,event.type

重要:hover(over,out);应用于菜单.toggle(fn,fn2,fn3,fn4,...);//对象不支持此属性或方法.jquery-1.9.1.min.js注意:不是triggle

css样式:style="cursor:pointer"

事件对象的函数event.preventDefault();event.isDefaultPrevented();event.stopPropagation();event.isPropagationStopped();event.stopImmediatePropagation();event.isImmediatePropagation();

----------130616----------

11.jQueryAJax$(function(){$("#btnAjaxJquery").click(function(event){$("#divResult").load("data/AjaxGetCityInfo.aspx",{"resultType":"html"})//使用jquery的load方法只需要一句话。完成ajax请求。});})

load(url,[data],[callback]);默认使用Get方式,如果传递了data参数则使用Post方式。

回调函数function(responseText,textStatus,XMLHttpRequest){}

jquery.get(url,[data],[callback],[type])//type参数是指data数据的类型,xml,html,script,json,jsonp,text默认为html

回调函数的签名function(data,textStatus){//datacouldbexmlDoc,jsonObj,html,text,etc...this;//theoptionsforthisajaxrequest}

jquery.getJSON(url,[data],[callback])方法相当于jquery.get(url,[data],[callback],"json");

jquery.getScript(url,[callback]);实质上工作原理:varhead=docuemt.getElementByTagName("head")[0];varscript=document.createElement("script");script.src=s.url;head.appendChild(script);

jquery.post(url,[data],[callback],[type]);具体用法和get相同,只是提交方式由get改成post

jquery.ajax(options);

ajax默认的全局的option选项$.ajaxSetup({url:"../url",data:{"param":"ziqiu.zhang"},global:false,---默认为true,表示触发全局的ajax事件.type:"POST",success:function(data,textStatus){$("#divResult").html(data);}});

//不传递参数调用$("#btnAjax").click(function(event){$.ajax();});$("#btnGet").click(function(event){$.get();});$("#btnPost").click(function(event){$.post();});$("#btnGet2").click(function(event){$.get("../url",{"param":"other"});});

serialize()函数.说明:serialize()函数将要发送给服务器的form中的表单对象拼接成一个字符串,便于我们使用ajax发送时获取表单数据,这和一个form按照get方式提交时,自动将表单对象的名/值放到url上提交差不多.

全局的ajax事件.ajaxStart(callback);ajaxSend(callback);ajaxSuccess(callback);ajaxComplete(callback);ajaxStop(callback);ajaxError(callback);

回调函数的签名function(evt,request,settings){}我们可以通过将默认options的global属性设置为false来取消全局ajax事件的触发.

注意事项:如果在get请求发送的url中有两个同名参数,比如两个param参数,此时服务器端获取到得param是一个用逗号分隔多个值的字符串。

----------------------class7----------------------

12.jQuery动画特效基本动画函数basicsshow();show(speed,[callback]);hide();hide(speed,[callback]);toggle();//切换元素的可见状态,如果是可见切换为隐藏,如果是隐藏切换为可见。toggle(switch);true为可见,false为隐藏。toggle(speed,[callback]);

滑动动画效果slidingslideDown(speed,[callback]);//就是show的滑动效果版本slideUp(speed,[callback]);//就是hide的滑动效果版本slideToggle(speed,[callback]);//slideToggle就是slideToggle滑动效果版本

淡入淡出函数fadingfadeIn(speed,[callback]);fadeOut(speed,[callback]);fadeTo(speed,opacity,[callback]);透明度渐变没有切换函数。

##自定义动画##高级应用。

全局控制属性jquery.fx.off=true;//关闭所有动画,当把这个属性设成false之后,可以重新开启所有动画。

----------------------class8----------------------13.基本完整页面代码结构//必须放在头部加载的语句块,尽量避免使用。...

//用户自定义方法userDefindMethod

//事件绑定$(function(){$("#btnShow").bind("click",userDefindMethod);...});

//加载时执行的语句$(function(){$("#btnShow").attr("value","被修改后的显示按钮")});

--说明--1.在页面底部添加

THE END
1.DOM节点类型文档对象模型(DOM)是 HTML 和XML 文档的编程接口。它为文档提供了一种结构化的表示方法,允许开发者通过脚本来访问文档的结构、样式和内容。在 DOM 中,每个元素、属性、文本块等都被视为一个节点,这些节点构成了 DOM 树。本文将详细介绍 DOM 中的不同节点类型。 https://blog.csdn.net/wjs2024/article/details/143871001
2.dom分为哪三个部分WebKit JavaScript Binding添加新DOM对象的三种方式 一.基础知识 首先WebKit IDL并非完全遵循Web IDL,只是借鉴使用.WebKit官网提供了一份说明(WebKitIDL),比如Web IDL称"operation”(操作), 而WebKitIDL称为"method"(方法), 另外Web IDL也不像WebKitIDL那样将属性和参数分开. 为JavaScript绑定对象,可以使用module来定义https://www.shuzhiduo.com/topic/dom%E5%88%86%E4%B8%BA%E5%93%AA%E4%B8%89%E4%B8%AA%E9%83%A8%E5%88%86/
3.javascript学习笔记(一)DOM基本操作基础知识js教程document.body.appendChild(text); Java免费学习笔记:立即学习 解锁Java 大师之旅:从入门到精通的终极指南java速学教程(入门到精通) java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦! 下载 https://m.php.cn/faq/20226.html
4.DOM的基础知识DOM的基础知识 什么是DOM DOM:Document Object Model 文档对象模型是W3C组织推荐的处理可扩展标记语言的标准编程接口 B:浏览器O:对象M:模型,W3C定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容,结构和样式 DOM的简介 DOM树: 如何获取页面元素 document文档对象提供了一系列的api方法,可以方便我们操作dom数https://www.pianshen.com/article/15402497208/
5.Go语言学习&求职路径(附Go语言书单)第1篇“Go语言入门”,介绍Go语言的基础语法,既使没有Go语言基础的读者也可以学习本书。 第2篇“Go Web基础入门”,包括3章:Go Web开发基础、接收和处理Go Web请求、用Go访问数据库。本篇能使读者快速掌握用Go语言进行Web开发的基础知识。 第3篇“Go Web高级应用”,包括4章:Go高级网络编程、Go文件处理、Go并发http://www.broadview.com.cn/article/420281
6.Vue快速入门学习笔记(更新ing)本笔记综合了视频狂神说的Vue快速上手和菜鸟教程、CSDN等博客文章,以及个人的一些学习见解与体会。 由于是为了团队需要而快速入门,HTML、CSS、JS、Vue等基础均不全,故本笔记仅供参考学习使用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。https://m.nowcoder.com/discuss/353148469172969472
7.ElementUI入门笔记(个人向)Element UI入门笔记 将页面分割为一级菜单、二级菜单、导航栏三个部分; 使用npm下载安装,使用语句npm i element-ui -s; 布局组件 --:key用于为每一个下拉选项设置唯一的Key值,用于Vue的虚拟DOM的diff算法--><!--:label设置选项要显示的文本信息--><!--:value设置选项选中后给http://www.mzph.cn/web/52984.shtml
8.E023Web学习笔记JQuery(一):基础知识51CTO博客E023Web学习笔记-JQuery(一):基础知识 一、JQuery基础 1、概念 jQuery 是一个 JavaScript 库; jQuery 极大地简化了 JavaScript 编程; jQuery 很容易学习; 2、快速入门 使用步骤: 第一步:下载JQuery; https://jquery.com/download/ 1. 第二步:导入JQuery的JS文件(直接复制);https://blog.51cto.com/u_13272819/6079059
9.Vue笔记——node.js入门知识这个时候我们的node.js便出现了。我们一旦安装好node.js之后,如何下载和安装的问题就迎刃而解,这个时候我们只需要使用npm install相关命令,node.js就可以帮助我们自动安装脚手架。如果你对npm不了解的话,推荐一篇博客:Vue笔记——npm入门知识。 安装好脚手架之后,我们在项目中还有会使用到各种各样的插件和库,比如vuehttps://www.jianshu.com/p/141c891561ec
10.Vue2.0学习笔记(基础篇)Vue2.0学习笔记(基础篇) 标签: JavaScript Vue.js 收藏 前言 纠结了很久到底是学Vue还是React,然后发现有纠结那么久的时间,说不定一个已经入门了。于是先挑一个基于原生js的框架Vue开始吧(还有个主要原因是Vue的中文官网做的比较小清新,看起来舒服). 稍微学习了一下,感觉vue和angular1.0真的有很多相像的地方。https://www.imooc.com/article/16117
11.JavaScript高级程序设计(第3版)(豆瓣)本来主攻PHP的我,在工作过程中发现JS的知识也是很必须的,所以决定开始学JS,然后在2012.6.7号在亚马逊买了这本书,以为可以用于入门,没想到这么书还是有一定难度,看了大半个月,才有一些零零碎碎的感觉本来自己基础不牢,也没什么好说的,所以说这本书还真的不适合初 (展开) 4 1 9回应 > 更多书评 https://book.douban.com/subject/10546125/
12.超过1000本的计算机经典书籍个人笔记资料以及本人在《Python入门教材(中文)》 百度云链接 提取码:d90e 《Python数据处理》 百度云链接 提取码:yqvb 《Python网络编程基础》 百度云链接 提取码:neke 《Python学习手册(第4版)》 百度云链接 提取码:gsio 《Python正则表达式-深入浅出》 百度云链接 提取码:sw5p 《Python知识手册-V2.0.1》 百度云链接 提取码:98a6 https://github.com/dptr/CS-Books/