jq学习笔记

本文深入解析jQuery库的功能与使用,涵盖入口函数、DOM操作、事件处理、动画效果等核心概念,对比jQuery与原生JS的区别,详述jQuery简化网页开发的众多实用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jQuery: JavaScript Query(查询)

jQuery 是一个 JavaScript 库。

使用方式不一样
库:我们是拿过来用
框架:定制了一系列规范,我们必须先了解这些规范然后按照框架的规范编写程序

简化js的复杂操作
不再需要关心兼容
提供大量的实用方法

下载JQ 或 CDN(跨域引用)

http://www.cnblogs.com/2010master/p/5808644.html
http://www.jQuery123.com

入口函数详细介绍
第一种: ( " d o c u m e n t " ) . r e a d y ( f u n c t i o n ( ) ) ; 第 二 种 : ("document").ready(function () { } ); 第二种: ("document").ready(function());(function () { } );
和js的入口函数window.onload的区别:
jQuery–文档树加载完成的时候执行,不会等待突破资源的加载完成
js–文档树加载完成后,必须等待图片等的资源加载完成才会执行

jQuery中的 符 号 本 质 就 是 一 个 函 数 , 且 符号 本质就是一个函数,且 === jQuery,可分为3种功能:
1, ( f u n c t i o n ( ) ) ; 参 数 是 f u n c t i o n , 功 能 是 入 口 函 数 2 , (function () { } ); 参数是function,功能是入口函数 2, (function());function2("#id"); ( " . w r a p " ) ; 等 参 数 是 字 符 串 , 一 般 都 是 选 择 器 , 功 能 是 查 找 页 面 的 元 素 3 , (".wrap");等 参数是字符串,一般都是选择器,功能是查找页面的元素 3, (".wrap");3(domObj); 将dom对象转化成jQuery对象

jQuery对象和DOM对象
jQuery对象:用jQuery方法获取到的元素返回的对象
DOM对象:使用JavaScript中的方法获取页面中的元素返回的对象
两者的区别:jQuery对象就是DOM对象的包装集(伪数组)
两者之间的转换:
jQuery对象转DOM对象:通过索引-- jQueryObj[index] 或 jQueryObj.get(index)
DOM对象转jQuery对象:$(domObj)


jq常用方法:


http://www.cnblogs.com/suoning/p/5683047.html#autoid-0-8-0

$(“999”) 创建span元素----------------------------------------------------------

click()

Html()
text()
css()
offset().left/top 获取偏移量
position().left 获取定位left
attr() 属性设置
addClass() 添加类
toggleClass() 添加/删除类
removeClass() 删除类
odd 奇数对象
even 偶数对象
get(0)第一个子对象 会转化为js对象
eq(0) 第一个子对象
index() 同级比较 返回索引值(第几个)
add() 增加个对象进行操作
slice(开始对象的下标,结束对象的下标) 不包括结束对象
end()返回上一个对象 $(“p”).find(“span”).css(“color”, “red”).end().css(“border”, “2px red solid”);
has(x) 拥有X子代的

not() 除此之外的对象
filter() 过滤
siblings()

find() 子对象
next() 同级下一个对象
prev()同级上一个对象
nextUntil()
prevUntil()
nextAll()
prevAll()

parent() 找父级
offsetParent() 返回最近的祖先定位元素。
parents() 所有父级及祖先
closest(“div”)–获取当前对象的第一个祖先div 获取最近的指定的祖先节点(包括当前元素自身),必须要写筛选的参数,只能找到一个元素
parentsUntil()

val() 表单内容

serialize() serializeArray()
console.log($(‘form’).serialize()); //string : a=1&b=2&c=3
console.log( $(‘form’).serializeArray() );
/* [
{ name : ‘a’ , value : ‘1’ },
{ name : ‘b’ , value : ‘2’ },
{ name : ‘c’ , value : ‘3’ }
] */

width() 获取css宽度 width
innerWidth() width+padding
outerWidth() width+padding+border
outerWidth(true) width+padding+border+margin

( " A " ) . i n s e r t B e f o r e ( ("A").insertBefore( ("A").insertBefore((“B”)) 把A元素插入到B元素之前
( " A " ) . b e f o r e ( ("A").before( ("A").before((“B”)) A元素之前插入B元素 后续操作不同
( " A " ) . i n s e r t A f t e r ( ("A").insertAfter( ("A").insertAfter((“B”)) 把A元素插入到B元素之后
( " A " ) . a f t e r ( ("A").after( ("A").after((“B”)) A元素之后插入B元素

prependTo() 把A元素插入到B元素内容之前
prepend() A元素内容之前插入B元素
appendTo() 把A元素插入到B元素内容之后
append() A元素内容之后插入B元素

empty() 删除节点内的内容
remove() 移除节点 一个 默认第一个 不保留事件,剪切
removeAll() 移除所有该类节点
detach() 保留事件,剪切 http://www.w3school.com.cn/tiy/t.asp?f=jquery_manipulation_detach_move
clone() 浅拷贝,不保留事件
clone(true) 深拷贝,保留事件

( " A " ) . w r a p ( ("A").wrap( ("A").wrap((“B”)) 每个A元素包裹于一个B元素内
( " A " ) . w r a p A l l ( ("A").wrapAll( ("A").wrapAll((“B”)) 所有A元素包裹于一个B元素内 (强制)
( " A " ) . w r a p I n n e r ( ("A").wrapInner( ("A").wrapInner((“B”)) A元素的内容包裹于B元素内
$(“A”).unwrap() 取消包裹(删除父级)

------------------------------------------_-
$(“A”).on(“click mouseover”,function(){
alert(1);
})
/
$(“A”).on({
“click”:function(){alert(1);},
“mouseover”:function(){alert(2);}
})

$(“p”).bind(“click”, function(){
alert( $(this).text() );
});
$(menuF).bind({
“mouseover”:function () {
$(menuS).parent().removeClass(“hide”);
},
“mouseout”:function () {
$(menuS).parent().addClass(“hide”);
}
});
on()
bind()
off() 移除事件绑定
unbind()
$(“A”)trigger(“aa”); 自定义事件名aa++++++++++++++++++++++++++

事件委托
delegate() undelegate() 向匹配元素的当前或未来的子元素附加一个或多个事件处理器
$(‘ul’).delegate(‘li’,‘click’,function(){
this.style.background = ‘red’;
$(‘ul’).undelegate();
});

one()++++++++++
$(“A”).one(“click”,function(){
alert(1);
}); 只执行一次

each();++++++++++
$(“li”).each(function(i,item){
$(item).css(“background”,“red”);
})

scrollTop() 滚动条至顶部的距离

$(“tr:eq(1)”) //给定索引值的元素
$(“tr:gt(0)”) //大于给定索引值的元素
$(“tr:lt(2)”) //小于给定索引值的元素

$(“div”).siblings() //所有的同辈元素,不包括自己

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
事件绑定

DOM2级事件绑定

addEventListener(“事件名”,事件处理程序,事件流(flase默认)) 添加事件绑定 attachEvent()

removeEventListener() 移除事件绑定 detachEvent()

jq临时事件对象

pageX —> clientX
pageY —> clientY 距可视窗口的垂直方向距离
which —> keycode 键值
stopPropation()

data
target
type
$(function(){
$(’#div1’).on(‘click’,{name:‘hello’},function(ev){
console.log(ev.data.name);//hello
console.log( ev.target );//

0
console.log( ev.type );//click
});
});

preventDefault 阻止默认事件 取消跳转
delegate() undelegate()
$(‘ul’).delegate(‘li’,‘click’,function(){
this.style.background = ‘red’;
$(‘ul’).undelegate();
});
效果

hover(function(){划入效果},function(){划出效果});

基本
$(“p”).show()    //显示隐藏的匹配元素
$(“p”).show(“slow”); //参数表示速度,(“slow”,“normal”,“fast”),也可为900毫秒
$(“p”).hide()     //隐藏显示的元素
$(“p”).toggle();   //切换 显示/隐藏
滑动
$(“p”).slideDown(“900”); //用900毫秒时间将段落滑下
$(“p”).slideUp(“900”);  //用900毫秒时间将段落滑上
$(“p”).slideToggle(“900”); //用900毫秒时间将段落滑上,滑下
淡入淡出
$(“p”).fadeIn(“900”);   //用900毫秒时间将段落淡入
$(“p”).fadeOut(“900”);    //用900毫秒时间将段落淡出
$(“p”).fadeToggle(“900”);  //用900毫秒时间将段落淡入,淡出
$(“p”).fadeTo(“slow”, 0.6); //用900毫秒时间将段落的透明度调整到0.6

animate() :
//第一个参数 : {} 运动的值和属性 background不支持
//第二个参数 : 时间(运动快慢的) 默认 : 400
//第三个参数 : 运动形式 只有两种运动形式 ( 默认 : swing(慢快慢) linear(匀速) )
//第四个参数 : 回调函数
KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲div1').stop(); …(’#div1’).stop(true); //阻止后续的运动
//KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲div1').stop(tru…(’#div1’).finish(); //立即停止到所有指定的目标点

animation: name duration timing-function delay iteration-count direction fill-mode;

$.方法++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

$ .noConflict() : 防止$冲突的
var web = $.noConflict();
var $ = 10;
web(function(){ 
    web('body').css('background','red');
});

type()  判断类型
noConflict() 防止$冲突的
trim()  去除字符串两边空格
inArray(字符串,arr,起始位置)相当于数组的indexOf()   
makeArray()将类数组转换为数组
parseJSON()  和原生的JSON.parse()一样 json字符串-->json
proxy(原,指向) 改变this指向的
proxy(原,指向)(); 改指向并调用

$.ajax++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

$.get(url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ])
$.post(url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ])
    url
        类型: String
        一个包含发送请求的URL字符串
    data
        类型: PlainObject, String
        发送给服务器的字符串或Key/value键值对。
    success(data, textStatus, jqXHR)
        类型: Function()
        当请求成功后执行的回调函数。
    dataType
        类型: String
        从服务器返回的预期的数据类型。默认:智能猜测(xml, json, script, 或 html)。
$.getJSON()  获取json数据
$.getScript() 获取js文件并执行

$().load();请求html文件 异步
.load( url [, data ] [, complete(responseText, textStatus, XMLHttpRequest) ] )
    url
        类型: String
        一个包含发送请求的URL字符串
    data
        类型: PlainObject, String
        向服务器发送请求的Key/value参数,例如{name:"",age:23}
    complete(responseText, textStatus, XMLHttpRequest)
        类型: Function()
        当请求成功后执行的回调函数。

    <iframe scr="http://www.baidu.com" frameborder="1"></iframe>
$.ajax({
    type:"get(默认)",
    url:"",
    data:{},
    dataType:"json",
    seccess:function(data,textStatus,jqXHR){

    },
    error:function(xhr,error,errorThrown){

    },
    assync:true/false,
    global:true/false,//打开/禁止触发全局ajax事件
})
$.ajaxSetup() 预设ajax(设置多个ajax需要用的需要用相同参数)  设置任何默认参数

创建jQuery插件
https://www.cnblogs.com/yuqingfamily/p/5813270.html

var newObject=$.extend({},{},{}…)       创建插件   /   合并多个对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值