当前位置 博文首页 > m0_45291815的博客:jquery简单记录
jQuery是js的库。也就是说jQuery是很多js的方法封装在了一个文件中。
jQuery是前端编程中使用最多的库。曾经风靡前端。
$.fn是jQuery的原型对象
官网:jquery.com
中文方法大全:jquery.cuishifeng.cn
要使用jquery首先需要下载一个jquery文件,然后先引入才能使用。
首先检测一下有没有引入成功,就是输出$或者就jQuery。这是jQuery暴露在全局的唯一的两个函数。
检测引入jquery文件是否成功,弹出$(alert($))
结果:返回function(e,t){return new k,fn.init(e,t)}
jQ获取的都是伪数组-jQ对象
jquery对象不能使用原生js操作dom元素的方法来操作,除非将jquery对象取下标拿到精准的dom元素:
$("div")[0]
$("div").get(0);
原生js的dom元素也不能使用jquery提供的方法操作,除非将dom元素转为jquery对象:
var div = document.querySelector("div");
$(div).text();
$(function(){});
$(document).ready(function(){});
$(window).ready(function(){});
过滤、查找、串联
$div = $("div");
//或者
$div = jQuery("div");
$("#id名")
$('.类名')
$('标签名')
$("标签名(属性='属性值')")
$("li:first-child")
$("li:last-child")
$("li:nth-child(数字)")
//第一元素对应数字是1$("li:empty")
//空标签$("li:first")
$("li:last")
$("li:event")
//奇数$("li:odd")
//偶数$("li:eq(数字)")
//选择下标是指定数字的元素$("li:lt(数字)")
// 下标小于指定数字的元素$("li:gt(数字)")
// 下标大于指定数字的元素$("div:has(p)")
//含有p的div$("div:is(p)")
//是否含有p,反布尔值$(":input")
// 匹配所有的表单元素 包括:文本框(input)下拉列表(select)、文本域(textarea)$(":text")
// 匹配单行文本框type=“text” $("input:text") $("input[type=text]")
$(":password")
// 匹配单行密码框$(":radio")
//匹配单选按钮$(":checkbox")
// 匹配多选按钮$(":submit")
// 匹配提交按钮$(":reset")
// 匹配重置按钮$(":image")
// 匹配图片按钮$(":button")
// 匹配普通按钮$(":hidden")
// 匹配隐藏域$("input:enabled")
// 所有可用表单元素$("input:disbaled")
// 所有禁用表单元素$("input:checked")
// 所有选中的表单元素-- 重点$("input:not(:checked)")
//未选$("select:selected")
// 被选中的下拉框元素 – 重点$("li").first() // 第一个元素
$("li").last() // 最后一个元素
$("div").next() // div的下一个兄弟元素
$("div").prev() // div的上一个兄弟元素
$("div").nextAll() // div后面的所有兄弟元素
$("div").prevAll() // div前面的所有兄弟元素
$("div").parent() // div的父元素
$("div").parents() // div的所有直系祖宗元素
$("div").eq(数字) // 指定下标的div元素
$("div").find(选择器) // div下的指定元素()
$("div").siblings() // 自己除外的所有兄弟元素
$("标签:contains('内容')")
注意:jQuery的事件绑定不是像原生js
on绑定事件那样的覆盖式绑定,而是多次重复绑定。类似addEventListener属性。
$("div").click(function(){});
$("div").mouseover(function(){});
即入口函数
$(function(){});
$(document).ready(function(){});
on
绑定on方法用于绑定事件、委托元素、传入参数,执行函数
$(元素).on('事件类型'[,委托元素][,传入的参数],处理的函数)
注:委托元素不加$符,传入参数在e的data里,e没有兼容问题
off
方法用于解绑事件$(元素).off(事件类型[,处理函数])//不加处理函数解除所有此类型事件绑定
trigger
方法用于手动触发事件:$(元素).trigger(事件类型[,处理函数]);
//例如
btn.on("click",function(){
div.trigger("click");//通过btn的点击事件触发div的点击事件
});
$(元素).one(事件类型,处理函数);
hover事件,包含鼠标放上去和鼠标离开
$("元素").hover(鼠标放上去的处理函数,鼠标离开的处理函数)
在jQuery事件处理程序里返回了false:既阻止事件冒泡也阻止事件默认行为
$(元素).bind(type,handle);
$(元素).unbind();//移除该元素所有的绑定方法
$(元素).off("click").on("click",function(){})
$(元素).unbind("click").bind("click",function(){})
$(元素).die("click").live("click",function(){})
$("div").prop(属性名,属性值);
//注意,checkbox的是否选择用
$("check").prop("checked");
//设置或获取。
$("div").prop(属性名);
$("div").attr(属性名,属性值);
$("div").attr(属性名);
$("div").removeProp(属性名);
$("div").removeAttr(属性名); // 删除自定义属性
案例:全选反选
js写法
<body>
<input type="checkbox">商品1<br>
<input type="checkbox">商品2<br>
<input type="checkbox">商品3<br>
<input type="checkbox">商品4<br>
<input type="checkbox">商品5<br>
<input type="checkbox">商品6<br>
<button class="all">全选</button><button class="reverse">反选</button><button class="allNot">取消</button><br>
<span>删除</span>
</body>
<script src="../js/jquery.js"></