码迷,mamicode.com
首页 > Web开发 > 详细

jQuery 基础总结

时间:2017-04-17 22:29:35      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:document   元素   border   

样式篇

$(document).ready 的意思是等页面的文档(document)中的节点都加载完毕后,在执行后续的代码;

jQuery对象转化成DOM对象:
jQuery是一个类数组对象,DOM对象就是一个单独的DOM元素。
jQuery自带的get()方法:转换为DOM对象

DOM对象转化成jQuery对象:$

基本选择器:id选择器 类选择器 元素选择器

层级选择器: 
子选择器:$(‘div > p‘) 选择所有div元素里面的第一个子元素P
后代选择器:$(‘div p‘).css("border", "1px groove red");
相邻兄弟选择器:(".prev+div")prevdiv(".prev+div")选取prev后面的第一个的div兄弟节点一般相邻选择器:(".prev ~ div")选取prev后面的所有的div兄弟节点

基本筛选器
:first/:last/:even/:odd 注意jQuery合集都是从0开始索引 :even偶数 :odd奇数
:eq/:gt/:lt   :gt大于 :lt小于

内容筛选器
:contains/:has       (contains查找包含“指定文本”的元素,has查找包含“指定元素”的元素)
:parent/:empty

可见性筛选选择器
:visible/:hidden

隐藏
1.CSS display的值是none。
2.type="hidden"的表单元素。
3.宽度和高度都显式设置为0。
4.一个祖先元素是隐藏的,该元素是不会在页面上显示
5.CSS visibility的值是hidden
6.CSS opacity的指是0                 5.6两种被认为是可见的,因为他们仍然占用空间布局

属性筛选选择器
[att=val]、[att]、[att|=val]、[att~=val] [att^=val]、[att*=val]、[att$=val]、[att!=val]

在这么多属性选择器中[attr="value"]和[attr*="value"]是最实用的
[attr="value"]能帮我们定位不同类型的元素,特别是表单form元素的操作,比如说input[type="text"],input[type="checkbox"]等
[attr*="value"]能在网站中帮助我们匹配不同类型的文件

子元素筛选选择器
:first-child、:last-child、:only-child、:nth-child、:nth-last-child

表单元素选择器
input、text、password、radio、checkbox、submit、image、reset、button、file

表单对象属性筛选选择器
enabled、disabled checked、selected(option)

特殊选择器this

.attr() .removeAttr()
1.attr(传入属性名):获取属性的值
2.attr(属性名, 属性值):设置属性的值
3.attr(属性名,函数值):设置属性的函数值
4.attr(attributes):给指定元素设置多个属性值,即:{属性名一: “属性值一” , 属性名二: “属性值二” , … … }

.html() .text() .val()
.html处理的是元素内容,.text处理的是文本内容,.val()是用来处理表单

.addClss():添加一个样式类名到元素上
.removeClass():删除样式
.toggleClass():结合上面两点

样式操作.css()
获取:
.css( propertyName ) :获取匹配元素集合中的第一个元素的样式属性的计算值
.css( propertyNames ):传递一组数组,返回一个对象结果
设置:
.css(propertyName, value ):设置CSS
.css( propertyName, function ):可以传入一个回调函数,返回取到对应的值进行处理
.css( properties ):可以传一个对象,同时设置多个样式

 

回到顶部(go to top)

DOM篇

jQuery节点创建
:$("<div id=‘test‘ class=‘aaron‘>我是文本节点</div>")

DOM节点插入
内部插入append()与appendTo()
:目标的位置不同

通过before与after添加元素(内容在后,元素在前)
:before,在匹配元素之前增加多参数、after,在匹配元素之前增加多参数

通过prepend与prependTo添加元素(目标位置不同)
:prepend()向每个匹配的元素内部前置内容;append()向每个匹配的元素内部追加内容

通过insertBefore与insertAfter添加元素(内容在前,元素在后)

DOM节点删除
通过empty移除元素
:移除内容,但是id,class属性没有删除

通过remove移除元素
: 移除内容和属性

保留数据的删除操作detach()

DOM拷贝clone()
//clone处理一:("div").clone()////clone("div").clone()//只克隆了结构,事件丢失//clone处理二:("div").clone(true) //结构、事件与数据都克隆

DOM替换replaceWith()和replaceAll():
replaceWith:内容在后面 replaceAll相反

DOM包裹wrap()方法:增加一个父元素
unwrap():与wrap()相反
wrapAll()方法:给集合中的元素分别包裹
wrapInner()方法:可以理解成增加一个内元素


jquery遍历
children方法():寻找第一级子元素
find方法():寻找后代元素

parent方法():向上查找一级
parents方法():向上查找多级找到符合条件的多个
closest()方法:向上查找多级找到最近的那个

next()方法:紧邻的后面同辈元素的元素集合
prev()方法:紧邻的前面同辈元素的元素集合
siblings():每一个元素紧邻的前面后面同辈元素

add()方法:往jQuery合集中添加一新的元素

each():
$("li").each(function(index, element) {
}):index是索引 △:从0开始;element:是对应的节点

 

回到顶部(go to top)

事件篇

①鼠标事件
<div id="test">点击触发<div>
$("#text").click(11111,function(e) {
//this指向 div元素
//e.date => 11111 传递数据
});

click与dbclick事件

mousedown与mouseup事件:两个合成click事件

mousemove事件

mouseover与mouseout事件
mouseenter与mouseleave事件:和上一种的区别冒泡的方式处理问题(不支持冒泡)
hover事件:mouseenter事件和mouseleave事件合起来


②表单事件
focusin事件:当一个元素或内部任何一个元素获得焦点的时候
focusout事件:当一个元素,或者其内部任何一个元素失去焦点的时候

focus与blur事件:不支持冒泡,focusin与focusout支持冒泡

change事件:可以监听<input> <select> <textarea>改变的动作

select事件:只用于<input>元素与<textarea>元素

submit事件:(例如:验证表单输入的正确性,如果错误就阻止提交,从新输入)
return false; //阻止提交

keydown()与keyup()事件:键盘按下与松手

on()的多事件绑定:
多个事件绑定同一个函数:("#elem").on("mouseover mouseout",function(){ }); 多个事件绑定不同函数("#elem").on("mouseover mouseout",function(){ }); 多个事件绑定不同函数("#elem").on({
mouseover:function(){}, 
mouseout:function(){},
});

on()的高级用法:委托机制 $("div").on("click","p",fn)

卸载事件off()方法

jQuery事件对象:event.target
jQuery事件对象的属性:
event.type:获取事件的类型 event.pageX 和 event.pageY event.stopPropagation() 方法:阻止事件冒泡

 


jQuery 基础总结

标签:document   元素   border   

原文地址:http://kiujyhgt.blog.51cto.com/12806908/1916714

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!