JQuery小结
来源:互联网 发布:女生黄金比例身材算法 编辑:程序博客网 时间:2024/06/05 17:06
一.概念
基本概念
- JQuery是对原生DOM对象的封装库,将原生DOM对象转换成JQuery对象,通过调用对象方法实现对DOM的操作
- JQuery相比DOM对象,代码简练且与浏览器兼容性高
基本语法
$ ,即表示该对象为JQuery对象。如:$("div")
与DOM对象的相互转换
将dom对象转换为JQuery对象
var $key = $(dom);
将JQuery对象转换为dom对象
- var dom1 = $key[0];
- var dom2 = $key.get(0);
在JQuery中不可以直接使用this,如this.attr(“name”,”username”)会报错;但可以这样用$(this).attr(“name”,”username”).因为是DOM对象,不是JQuery对象。
原生JS中window.onload与$(document).ready()区别
两者执行时机不同
window.load在整个页面全部元素加载完毕执行
$()是在浏览器对页面的DOM结构解析完即执行(此时与DOM相关的元素可能尚未加载完毕),也可理解为页面边加载边执行
两者可编写个数不同
window.onload(function(){})只可编写一次,如果编写多次只能执行最后一个
$(document).ready(function(){})可编写多次,并且每次都会执行
- $(document).ready()可简写为$()
二.JQuery可实现的功能(只列举一些常用到的)
1.选择器
基本选择器
- ID选择器: $(“#id”): 根据给定的ID匹配一个元素
- 元素选择器: $(“dom元素名”):根据给定的元素名匹配所有元素
- 类选择器:$(“.className”): 根据给定的class名匹配元素
- 组选择器:$(“seletor1,seletor2,seletor3”)—-无数量限制,用逗号分割
层级选择器
- 后代选择器:$(“parent child”):匹配父元素下的所有子元素,包括直接子元素和非直接子元素
- 子选择器: $(“parent > child”):匹配父元素下的所有直接子元素,
属性选择器
- $(“div[id]”) 查找所有含有 id 属性的 div 元素
- $(“input[name=’newsletter’]”) 查找所有 name 属性是 newsletter 的 input 元素
表单选择器(如表单id为fm)
- $(“#fm:input”) 获取所有的input、textarea、selecte
- $(“#fm:text”) 匹配所有的单行文本框
- $(“#fm:password”) 匹配所有密码框
- $(“#fm:radio”) 匹配所有单选按钮
- $(“#fm:checkbox”) 匹配所有复选框
- $(“#fm:submit”) 匹配所有提交按钮
- $(“#fm:image”) 匹配所有图像域
- $(“#fm:button”) 匹配所有按钮
- $(“#fm:file”) 匹配所有文件域
- $(“#fm:hidden”) 匹配所有不可见元素,或者type为hidden的元素
表单对象属性选择器
- $(“input:checked”) 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)
- $(“input:enabled”) 匹配所有可用元素
- $(“input:disabled”) 匹配所有不可用元素
- $(“select option:selected”) 匹配所有选中的option元素
2.过滤器(如有需要可自行查找资料)
3.JQuery对属性的操作
- 获取属性值: $(“img”).attr(“src”); 返回文档中第一个图像的src属性值
- 给指定属性赋值 :$(“img”).attr(“src”,”test.jpg”)
- 删除属性:$(“img”).removeAttr(“src”); 从每一个匹配的元素中删除一个属性
- 为属性设置函数:$(“img”).attr(“title”, function() { return this.src }); 为所有匹配的元素设置一个计算的属性值
4.事件以及事件处理
事件
$(“p”).blur(); 触发每一个匹配元素的blur(输入域失去焦点)事件
$(“p”).blur( function () { alert(“Hello World!”); } ); 在每一个匹配元素的blur事件中绑定一个处理函数
change();change事件会在元素失去焦点的时候触发,也会当其值在获得焦点后改变时触
change(fn);在每一个匹配元素的change事件中绑定一个处理函数。
$(“p”).click(); 触发每一个匹配元素的click事件
$(“p”).click(function(){});在每一个匹配元素的click事件中绑定一个处理函数
dblclick();dblclick事件会在元素的同一点双击时触发。
$(“p”).dblclick( function () { alert(“Hello World!”); }); 在每一个匹配元素的dblclick事件中绑定一个处理函数。
$(document).ready(function(){ $(“#login”).focus();}); 触发每一个匹配元素的focus事件。
$(“input[type=text]”).focus(function(){this.blur();}); 在每一个匹配元素的focus事件中绑定一个处理函数。
keydown();keydown事件会在键盘按下时触发。
keydown(fn);在每一个匹配元素的keydown事件中绑定一个处理函数。
keypress();触发每一个匹配元素的keypress事件
keypress(fn);在每一个匹配元素的keypress事件中绑定一个处理函数。
keyup();触发每一个匹配元素的keyup事件
keyup(fn);在每一个匹配元素的keyup事件中绑定一个处理函数。
mousedown();
mouseup();
mousemove();
mouseover();
mouseout();
$(“form:first”).submit();提交本页的第一个表单。
$(“form”).submit(function(){return false;});阻止页面提交。return false也可作为阻止事件冒泡使用。
事件处理(随便举几个常见例子)
$(“p”).bind(“click”, function(){ alert(“p被点击了”);}); 为每一个匹配元素(此处为p标签元素)的特定事件(如click)绑定一个事件处理器函数
$(document).on(events,[selector],[data],function(){}) 为某一个或者多个事件绑定函数,与bind(type,[data])实现效果类似;on多一个参数[selector],可以用来过滤元素
如:$(document).on(“click”,”p,scan”,function(){alert(“p或者scan被点了”)}
trigger(type,[data])在每一个匹配的元素上触发某类事件
<html>Hello World<head><script type="text/javascript" src="/jquery/jquery.js"></script><script type="text/javascript">$(document).ready(function(){ $("input").select(function(){ $("input").after("文本被选中!"); }); $("button").click(function(){ $("input").trigger("select"); });});</script></head><body><input type="text" name="FirstName" value="Hello World" /><br /><button>激活 input 域的 select 事件</button></body></html>
5.动态效果
6.发送Ajax请求
JQuery发Ajax请求的通用方式:
- 语法:$.ajax(prop);prop是一个hash表,用来设置ajax参数
示例:
$.ajax({
url:”请求地址”,
type:”请求方式(如get/post)”,
data:”请求参数”,
async:true,//默认为true表示异步请求,false表示发送同步请求
dataType:”返回值类型”,
success:function(data){//这里为请求成功的回调,data为返回数据},
error:function(){//请求失败回调}
});
其它方式:
$.get(url, params, callback) 用get方式向远程页面传递参数,请求完成后处理函数,除了url外,其它参数任意选择!
$.getJSON(url, params, callback) 用get方式向远程json对象传递参数,请求完成后处理函数callback
$.post(url, params, callback) 用post方式向远程页面传递参数,请求完成后处理函数callback
- JQuery小结
- jquery小结
- JQuery小结
- jquery小结
- jquery小结
- jquery小结
- jQuery小结
- jQuery小结
- jQuery小结
- JQuery小结
- JQuery小结
- Jquery小结
- JQuery小结
- Jquery小结
- Jquery小结
- Jquery小结
- jquery小结
- jquery小结
- [LeetCode] 371.Sum of Two Integers
- ubuntu下配置git和github
- C#--程序登录时写入登录日志
- 波雷费密码 Playfair Cipher 及 希尔密码 Hill Cipher 原理简述
- [LeetCode] 412.Fizz Buzz
- JQuery小结
- eclipse配置JDK
- SSH与SSM学习之hibernate09——对象的三种状态
- C#--记录用户程序退出时间日志
- Java基础之集合框架--Collections.reverse()方法
- java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver解决方案
- Android移动开发-属性动画的实现
- activeMQ发布订阅模式中中常用工具类
- Android IPC机制