jq---方法总结
- 1. 什么是jQuery
- 在使用jQuery之前,我们必须先了解什么是jQuery,它能够干什么(不然我们为啥要用它)。
- jQuery是一个非常流行的快速、小巧、功能强大的开源JavaScript库。就像官方所宣称的那样——"Write less,do more",它使得我们常用的HTML文档遍历、DOM操作、事件处理、动画效果、Ajax、工具方法等功能代码的实现变得非常简单。更重要的是,它还为我们做了跨浏览器的兼容。绝大多数时候,妈妈再也不用担心我的JS兼容问题了(由于浏览器bug等因素,jQuery也无法100%地实现跨浏览器兼容,官方对这些少数API一般也作了特殊说明,而且这种情况极少遇到,因此可以忽略不计)。
- 2.版本的区别
- jQuery库的js文件一般有两个版本:一个是jquery-version.js(这里的version表示具体版本号,下同),一个是jquery-version.min.js。
- 前者是jQuery库的源代码版本,它带有注释信息,建议你在开发环境中使用该文件,以便于调试或阅读源代码。
- 后者是前者经过压缩处理后的版本,它去除了多余的注释、空白字符等信息,并缩短了变量的名称,以减小js文件的体积。建议你在生产环境中使用该文件,以便于用户浏览器能够更快地加载jQuery库。
- 3.文档加载完毕后执行的处理函数?
- 一:$(document).ready(function(){
- // 在这里编写我们希望在DOM准备就绪后执行的代码
- jQuery的ready()函数可以重复调用
- });
- 二:$( function(){
- // 在这里编写我们希望在DOM准备就绪后执行的代码
- } );
- 4.jQuery 核心:选取元素
- $("#uid"); // 选取id属性为"uid"的单个元素
- $("p"); // 选取所有的p元素
- $(".test"); // 选择所有带有CSS类名"test"的元素
- $("[name=books]"); // 选择所有name属性为"books"的元素
- :针对input元素
- // jQuery特有的选择器,当然也可以和其他选择器任意组合使用
- $(":checkbox"); // 选取所有的checkbox元素
- $(":text"); // 选取所有type为text的input元素
- $(":password"); // 选取所有type为password的input元素
- $(":checked"); // 选取所有选中的radio、checkbox、option元素
- $(":selected"); // 选取所有选中的option元素
- $(":input"); // 选取所有的表单控件元素(所有input、textarea、select、button元素)
- 五:将HTML字符串封装为jQuery对象
- // 你同样可以使用jQuery对象的方法对这些临时的DOM元素进行操作,或者将它们插入到文档的指定位置。
- $('<span></span>'); // 包含一个临时的span元素
- $('<span/>'); // 包含一个临时的span元素,和上一行代码的作用相同
- $('<div id="mydiv"><p class="foo bar">Hello CodePlayer</p></div>'); // 包含一个临时的div元素,其内嵌一个子节点p元素
- 六:元素的筛选
- // 以下方法都返回一个新的jQuery对象,他们包含筛选到的元素
- $("ul li").eq(1); // 选取ul li中匹配的索引顺序为1的元素(也就是第2个li元素)
- $("ul li").first(); // 选取ul li中匹配的第一个元素
- $("ul li").last(); // 选取ul li中匹配的最后一个元素
- $("ul li").slice(1, 4); // 选取第2 ~ 4个元素
- $("ul li").filter(":even"); // 选取ul li中所有奇数顺序的元素
- $("div").find("p"); // 选取所有div元素的所有后代p元素
- $("div").children(); // 选取所有div元素的所有子代元素
- $("div").children("p"); // 选取所有div元素的所有子代p元素
- $("span").parent(); // 选取所有span元素的父元素
- $("span").parent(".foo.bar"); // 选取所有span元素的带有CSS类名"foo"和"bar"的父元素
- $("#uid").prev(); // 选取id为uid的元素之前紧邻的同辈元素
- $("#uid").next(); // 选取id为uid的元素之后紧邻的同辈元素
- 七:基本方法
- // 传入了value参数,设置所有匹配元素的value值为"CodePlayer"
- uid.val("CodePlayer");
- $lis.attr("class"); // 只获取第一个匹配的li元素的class属性
- $("selector").removeAttr("class"); // 移除所有匹配元素的class属性
- find("ul") // 返回匹配这些div元素中的所有后代ul元素的jQuery对象
- children() // 返回匹配这些ul元素中的所有子代元素的jQuery对象
- $("selector").val("Hello"); // 设置所有匹配元素的value值为"Hello"
- $("selector").html("Hello"); // 设置所有匹配元素的innerHTML值为"Hello"
- $("selector").text("Hello"); // 设置所有匹配元素的innerText值为"Hello"
- $("selector").prop("checked"); // 获取第一个匹配元素的checked属性值
- $("selector").prop("checked", true); // 设置所有匹配元素的checked属性值为true(意即选中所有匹配的复选框或单选框)
- $("selector").removeProp("className"); // 移除所有匹配元素的className属性
- 八:文档处理
- $A.before( $B ); // 在$A之前插入$B
- $A.after( $B ); // 在$A之后插入$B
- $A.insertBefore( $B ); // 将$A插入到$B之前的位置
- $A.insertAfter( $B ); // 将$A插入到$B之后的位置
- $A.append( $B ); // 在$A内部的末尾位置追加$B
- $A.appendTo( $B ); // 将$A追加到$B内部的末尾位置
- $A.prepend( $B ); // 在$A内部的开头位置追加$B
- $A.prependTo( $B ); // 将$A追加到$B内部的开头位置
- $A.replaceAll( $B ); // 用$A替换$B
- $A.replaceWith( $B ); // 用$B替换$A
- $A.wrap( $B ); // 在$A的外侧包裹$B
- $A.unwrap( ); // 只移除$A的父元素的标签
- $A.wrapAll( $B ); // 在整个$A的外侧用单个$B将其包裹起来
- $A.wrapInner( $B ); // 在$A的内侧包裹$B
- $A.empty(); // 清空$A的所有内容
- $A.remove(); // 删除$A及其绑定的事件、附加数据等
- $A.detach(); // 删除$A,但保留其绑定的事件、附加数据等
- $A.clone(); // 克隆一个$A
- 九:动画处理
- $("selector").show(); // 显示隐藏的元素,默认不带过渡动画效果
- $("selector").show( 400 ); // 显示隐藏的元素,带有400毫秒的过渡动画效果
- $("selector").show( "fast" ); // 显示隐藏的元素,带有200毫秒的过渡动画效果
- $("selector").show( "slow" ); // 显示隐藏的元素,带有600毫秒的过渡动画效果
- $("selector").hide(); // 隐藏显示的元素,其用法与show()相同
- $("selector").toggle(); // 切换显示/隐藏元素(如果显示就隐藏,隐藏就显示),其用法与show()类似
- /* 下面的slide*、fade*系列方法与上面的show()、hide()、toggle()等方法作用相同,
- * 用法也类似,只是带有不同的动画效果
- */
- $("selector").slideDown(); // 显示隐藏的元素,带有向下滑动的过渡动画效果
- $("selector").slideUp(); // 隐藏显示的元素,带有向上滑动的过渡动画效果
- $("selector").slideToggle(); // 切换显示/隐藏的元素,带有向上/下滑动的过渡动画效果
- $("selector").fadeIn(); // 显示隐藏的元素,带有淡入的过渡动画效果
- $("selector").fadeOut(); // 隐藏显示的元素,带有淡出的过渡动画效果
- $("selector").fadeToggle(); // 隐藏显示的元素,带有淡出的过渡动画效果
- / 设置所有匹配元素的css样式"width: 200px; height: 100px",并执行一个当前样式到指定样式的过渡动画效果
- // 动画的执行时间为 1000 毫秒
- $("selector").animate( { width: "200px", height: "100px" }, 1000 );
- 十:事件
- // 以下方法均可为所有匹配元素的click事件绑定处理函数
- $("selector").click( handler );
- $("selector").bind( "click", handler );
- $("selector").live( "click", handler ); // 该方法已过时,不建议使用
- $(document).delegate( "selector", "click", handler );
- $("selector").on( "click", handler );
- $("selector").one( "click", handler ); // 用于绑定一次性事件,第一次触发后就自动解除绑定
- $dblclick() //双击事件
- focus()、聚焦的时候事件
- change()、输入域改变的时候
- hover()、移入的时候
- submit()(仅限于<form>表单元素)
- 、mousedown()、鼠标按下的事件
- mouseover()、移动至元素的时候
- keydown()、键盘按下的时候
- keypress() 键盘起来的时候
- :手机端的事件
- // 触发所有匹配元素上的click事件
- $("selector").trigger("click");
- // 触发所有匹配元素上的change事件
- $("selector").trigger("change");
- // 触发所有匹配元素上绑定在foo命名空间下的mouseout事件的处理函数
- $("selector").trigger("mouseout.foo");
- :移除事件
- //主要用于解除通过click()、dblclick()等直接事件方法以及bind()、one()等方法绑定的处理函数
- $("selector").unbind("click");
- //主要用于解除通过live()方法绑定的处理函数
- $("selector").die("click");
- //主要用于解除通过delegate()方法绑定的处理函数
- $(document).undelegate("selector", "click");
- //主要用于解除通过on()方法绑定的处理函数
- $("selector").off("click");
- 十一:jQuery辅助工具方法
- ar str1 = $.trim( " abc d " ); // "abc d" //去除空格
- var str2 = $.trim( null ); // ""
- // 判断是否是数组
- var isArray1 = $.isArray( [] ); // true
- var isArray2 = $.isArray( new Array() ); // true
- // 判断是否是函数
- var result1 = $.isFunction( function(){} ); // true
- var result2 = $.isFunction( new Function() ); // true
- // 检索数组中是否存在指定值,并返回其第一次出现的索引
- var index1 = $.inArray( 2, [ 1, 3, 5, 2, 0 ] ); // 3
- var index2 = $.inArray( 3, [ 2 ] ); // -1 (不存在返回-1)
- // 将JSON字符串转为对应的JS对象
- var jsonObj = $.parseJSON( '{ "name": "CodePlayer", "age": 18 }' );
- var jsonArray = $.parseJSON( '[ 12, "CodePlayer", true ]' );
- 十二:遍历数组
- // $.each()用于遍历数组元素或对象属性
- var array = [ 12, "jQuery", true ];
- $.each( array, function(i, value){
- // i 表示当前迭代元素的索引或对象的属性名称
- // value 表示当前迭代的数组元素或对象的属性值
- // this 与 value 相同
- alert( i + " = " + value );
- // 如果函数return false,将终止遍历
- });
- // $.map()用于遍历数组元素或对象属性,并将每次执行遍历函数的返回值封装为数组返回
- var obj = { name: "jQuery", age: 20, isAdmin: true };
- var resultArray = $.map( obj, function(value, i){ // 注意参数顺序与each()不同
- // value 表示当前迭代的数组元素或对象的属性值
- // i 表示当前迭代元素的索引或对象的属性名称
- // this 指向全局对象(window)
- if( typeof value === "number"){
- return null; // 如果函数返回null或undefined,则不会添加到结果数组中
- }else{
- return value;
- }
- } );
- // resultArray 为 [ "jQuery", true ]
- //$.grep()用于遍历数组元素,并根据函数的返回值(true/false)来过滤数组元素
- var array2 = [ "Hello", 12, "jQuery", true ];
- var resultArray2 = $.grep( array2, function(value, i){ // 注意参数顺序与each()不同
- // value 表示当前迭代的数组元素
- // i 表示当前迭代元素的索引
- // this 指向全局对象(window)
- return i % 2 == 0; // 保留返回值不为false的元素
- } );
jq---方法总结的更多相关文章
- jq方法写选项卡的基本原理以及三种方法
使用jq写选项卡,告别了繁琐的循环以及命名规范 基本原理: 1.当某一个btn被选中时,将这个btn的背景颜色设为橘色,其余兄弟btn背景颜色设为空(none) 2.如果子div与btn的索引相同,就 ...
- jq对象才能使用jq方法,$(".a").eq(0) 和 $(”.a“)[0]
<a class="a"></a> <a class="a"></a> <a class="a& ...
- jq方法的注意点
当jq方法里面引用的ajax方法和其它方法时,就需要把ajax改为同步,通过ajax方法返回值来判断下一步执行那个方法,你不做判断,浏览器编译执行的时候不会不会按你想的从上之下执行下来. 当安卓手机跟 ...
- jq方法中 $(window).load() 与 $(document).ready() 的区别
通过自学进入了前端的行列,只知道在js中,一开头就写一个: window.onload = function(){ //doing sth} 然后所有的乱七八糟的代码全塞里面,大概知道window.o ...
- jq方法
DOM属性-获取和设置页面元素的DOM属性 .addClass()..attr()..prop()..hasClass()..html()..removeAttr()..removeClass().. ...
- 手指向上滑动跳转页面的JQ方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JQ插件写法 扩展JQ方法
目录: 1.基本JQ扩展插件js的格式 2.对JQ选中元素的方法的扩展,调用类似于$("selector").myMethod(),这里的myMethod是自己扩展的方法,与.cl ...
- JQ方法大全
Dom:Attribute:$("p").addClass(css中定义的样式类型); 给某个元素添加样式$("img").attr({src:"te ...
- JQ方法实用案例///鼠标移动到div和修改ipt中弹窗、CSS鼠标变小手、JQ获取元素属性、JQ选择器
今天学习了jQ,jQ对js的帮助很大,菜鸟教程上也有属性.可以查看 js 和 jquery主要的区别 在 dom 想用jquery 必须先引入(顺序问题) 先css 再js: ...
- jq方法(end)
.end()方法: 使得结果集可以后退一步 $('div') .find('h3') .eq() .html('hello') .end()//退回到选中所有的h3元素的那一步 .eq()//选中第一 ...
随机推荐
- Perceptron Learning Algorithm(python实现)
一.概论 对于给定的n维(两种类型)数据(训练集),找出一个n-1维的面,能够"尽可能"地按照数据类型分开.通过这个面,我们可以通过这个面对测试数据进行预测. 例如对于二维数据,要 ...
- hiho149周 - 数据结构 trie树
题目链接 坑点:accept和deny的ip可能相同,需加个判断 #include <cstdio> #include <cstdlib> #include <vecto ...
- [HNOI2008]水平可见直线 单调栈
题目描述:在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例如,对于直线:L1:y=x; L2:y=- ...
- POJ2976 Dropping tests(01分数规划)
题意 给你n次测试的得分情况b[i]代表第i次测试的总分,a[i]代表实际得分. 你可以取消k次测试,得剩下的测试中的分数为 问分数的最大值为多少. 题解 裸的01规划. 然后ans没有清0坑我半天. ...
- 紫书 例题 10-13 UVa 830(递推)
首先我们按照这三个U的位置来分类,当前三个U在i,i+1, i+2. 那么先看三个U前面,前面不能有三个U,因为我们不能重复计算 那么就是所有的组合减去有U的情况 为了叙述方便,我们设答案为f(n), ...
- HDU 5068 Harry And Math Teacher 线段树+矩阵乘法
题意: 一栋楼有n层,每一层有2个门,每层的两个门和下一层之间的两个门之间各有一条路(共4条). 有两种操作: 0 x y : 输出第x层到第y层的路径数量. 1 x y z : 改变第x层 的 y门 ...
- Unity 调用 Android Native 方法(一) 获得Android系统音量
学习雷锋,好榜样,接下来的这一系类教程里,将通过unity来实现Android端的一些常用功能, 不需要在 Asset/Plugins/Android 目录下引用jar包或者aar包,这是重点. us ...
- 【Henu ACM Round#20 F】 Arthur and Brackets
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 所给的li,ri是左括号从左到右的顺序给的. (且注意长度是2*n 现在我们先把第一个左括号放在第1个位置. 然后考虑第二个位置. ...
- 三 概要模式 2) MR倒排索引、性能分析、搜索干扰词。
二 倒排索引 倒排索引(英语:Inverted index),也常被称为反向索引.置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射. ...
- Jeff Dean专访,有不少干货
<专访Jeff Dean:我们要推动机器学习再上一层楼> 文件链接如下: Link https://arxiv.org/ 有意思的是,里面提到的 arXiv网站,一个能够用来证明论文上传时 ...