jQuery—常用操作
一、jquery各版本变化
1.3:增加live(),为当前和将来增加的元素绑定事件
1.4:增加delegate()、undelegate(),替代live(),可以遍历绑定
1.6:2个破坏性变更:data()返回值以驼峰形式展示,用attr()和prop()区分attribute和properties状态获取,attr()取不到动态改变的值了
1.6.1:调整attr(),兼容1.6以前的做法
1.7:增加on()、off(),替代bind()、delegate()、live()、unbind()、undelegate()和die(),更好的支持ie 6/7/8的html5
2.x:不再支持ie 6/7/8,内核调整
3.x:移除load()、unload()和error()
二、表单操作
1、复选框
全选
$('[name=items]:checkbox').prop('checked', true);
全不选
$('[name=items]:checkbox').prop('checked', false);
反选
$('[name=items]:checkbox').each(function() {
this.checked = !this.checked;
});
判断某项是否选中
$('[name=items][value=233]:checkbox').prop('checked')
获取所有选中的,用逗号分隔
$('[name=items]:checkbox:checked').map(function() {return $(this).val()}).get().join(',')
设置选中
var map = '2,4';
if(map != '') {
$.each(map.split(','), function(i, v) {
$('[name=items][value=' + v + ']:checkbox').prop('checked', true);
});
}
状态改变事件
$('[name=items]:checkbox').on('change', function() {
$('[name=items]:checkbox:checked').map(function() {return $(this).val()}).get().join(',');
});
2、单选框
全不选
$('[name=items]:radio').prop('checked', false);
判断某项是否选中
$('[name=items][value=233]:radio').prop('checked')
获取选中的
$('[name=items]:radio:checked').val()
设置选中
$('[name=items][value=' + 233 + ']:radio').prop('checked', true);
状态改变事件
$('[name=items]:radio').on('change', function() {
$(this).val();
});
3、下拉框
获取选中
$('select').val()
获取选中text
$('select').find('option:selected').text();
设置选中
$('select').val(233);
设置text选中
$('select').find('option[text=xxx]').prop('selected', true);
选中第一个
$('select').prop('selectedIndex', 0);
状态改变事件
$('select').on('change', function() {
$(this).find(':selected').val();
});
三、ajax操作
1、$.load()
$('#abc').load(url, [data], [callback]); //无论成功失败都会执行回调函数
$('#abc').load('def.html', {aaa: $('#aaa').val(), bbb: 'bbb'}, function(responseText, textStatus, XMLHttpRequest) {
//responseText: 请求返回的内容
//textStatus: 请求状态,success、error、notmodified、timeout
//XMLHttpRequest: XMLHttpRequest对象
});
无参数是get方式,有参数是post方式
2、$.get()
$('#abc').get(url, [data], [callback], [type]); //当Response的返回状态是success才执行回调函数
$('#abc').get('def.do', {aaa: $('#aaa').val(), bbb: 'bbb'}, function(data, textStatus) {
//data: 返回的内容,xml、json、html
//textStatus: 请求状态,success、error、notmodified、timeout
}, 'json');
url长度不要大于2kb
get的数据更容易被用户查看到
3、$.post()
$('#abc').post(url, [data], [callback], [type]); //当Response的返回状态是success才执行回调函数
$('#abc').post('def.do', {aaa: $('#aaa').val(), bbb: 'bbb'}, function(data, textStatus) {
//data: 返回的内容,xml、json、html
//textStatus: 请求状态,success、error、notmodified、timeout
}, 'json');
4、$.getJSON()
$('#abc').getJSON(url, [data], [callback]); //当Response的返回状态是success才执行回调函数
$('#abc').getJSON('def.do', {aaa: $('#aaa').val(), bbb: 'bbb'}, function(data, textStatus) {
//data: 返回的内容,xml、json、html
//textStatus: 请求状态,success、error、notmodified、timeout
});
getJSON还支持JSONP形式的调用
5、$.ajax()
$.ajax({
url: 'def.do',
type: 'POST',
async: true,
data: {
aaa: 'aaa', bbb: 233
},
timeout: 5000,
dataType: 'json',
beforeSend: function(XMLHttpRequest){
//XMLHttpRequest: XMLHttpRequest对象
},
success:function(data, textStatus){
//data: 返回的内容,xml、json、html
//textStatus: 请求状态,success、error、notmodified、timeout
},
error:function(XMLHttpRequest, textStatus, errorThrown){
//XMLHttpRequest: XMLHttpRequest对象
//textStatus: 错误信息
//errorThrown: 捕获的错误对象(可选)
},
complete:function(XMLHttpRequest, textStatus){
//XMLHttpRequest: XMLHttpRequest对象
//textStatus: 请求状态,success、error、notmodified、timeout
}
})
6、序列化元素
var data = $('#form').serialize(); //将表单元素序列化为字符串
var fields = $('#form').serializeArray(); //将表单元素序列化为JSON数据
四、常用例子
1、状态改变
text输入监听
$('input[type=text]').on('input propertychange', function() {
$(this).val();
});
获得焦点
$('input[type=text]').on('focus', function() {
$(this).val();
});
失去焦点
$('input[type=text]').on('blur', function() {
$(this).val();
});
禁用控件
$('input[type=text]').prop('disabled', true);
2、窗口、框架赋值
子窗口调用父窗口函数、对象
window.opener.fun();
window.opener.value;
window.opener.$("#abc").html();
$("#abc", window.opener.document).html()
子框架调用父框架函数、对象
window.parent.fun();
window.parent.value;
window.parent.$("#abc").html();
$('#abc', window.parent.document).html();
父框架调用子框架函数、对象
$("#iframe")[0].contentWindow().fun()
$("#iframe").contents().find("#abc").html();
3、jquery、js对象互相转换
var $abc = $('#abc');
var abc = $abc[0];
var $abc = $(abc);
4、响应js的超链接
<a href="javascript:void(0);">666</a>
5、js批量替换
abc.replace(/\233/g, "666");
6、js大小写
$('#abc').val().toUpperCase();
$('#abc').val().toLowerCase();
7、js引入
<script type="text/javascript" src="url"></script>
<script type="text/javascript"></script>
8、json转换
var obj = JSON.parse(str);
var str = JSON.stringify(obj);
9、延迟加载
setTimeout(function (){
test();
}, 2000);
或
setTimeout('test()',2000);
function test() {
alert("233");
}
10、动态调用函数
if(typeof test === 'function'){
eval('test()');
}
11、是否显示
$("#div").is(":hidden");
$("#div").is(":visible");
jQuery—常用操作的更多相关文章
- JQuery常用操作实现方式
http://www.cnblogs.com/guomingfeng/articles/2038707.html 一个优秀的 JavaScript 框架,一篇 jQuery 常用方法及函数的文章留存备 ...
- Jquery常用操作:checkbox、select取值,radio、checkbox、select选中及其相关
常用Jquery操作:checkbox取值.select取值.radio选中.checkbox选中.select选中及其相关: 1.影藏页面元素 使用jquery真的很方便,比如要控制div的显示与隐 ...
- jQuery 常用操作(转)
一.书写规则 支持链式操作: 在变量前加"$"符号(var $variable = jQuery 对象): 注:此规定并不是强制要求. 二.寻找元素 选择器 基本选择器 层级选择器 ...
- jQuery 常用操作
jQuery操作: 不像dom是通过等号赋值,它是传递参数 $('#tb:checkbox').prop('checked'); 获取值 $('#tb:checkbox').prop('checked ...
- jQuery常用操作
jQuery jQuery是一个轻量级的JS库,是一个被封装好的JS文件,提供了更为简便的元素操作方式,jQuery封装了DOM. 使用jQuery 引入jQuery文件 <scrtipt sr ...
- 160726、jQuery常用操作
一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库. jQuery对象 jQuery产 ...
- jQuery常用操作(待续)
1. input清空内容 <1> $("#选择器id").val(""); <2> $("input[name='input框 ...
- jQuery常用操作部分总结
注意:$(“.xxx”) 类,一定要在前面加上点callback为完成后执行的函数名称隐藏显示:hide() show()淡入淡出:fadeIn() fadeOut() fadetoggl ...
- jquery常用操作整理
1.数据中添加或者删除指定元素 var arr=['red','yello','blue']; arr.push('green'); //添加元素 arr = $.grep(arr,functio ...
随机推荐
- 你知道JavaScript中的结果值是什么吗?
你知道JavaScript中的每条语句.甚至表达式都有一个结果值吗? 当你在浏览器中测试代码时,经常会在控制台的输出结果的最后面多出一条,大部分为undefined,这个undefined就是一个结果 ...
- 一个成功的BI项目实施需要注意哪些?
BI是所有IT系统中最适合于管理层和决策层使用的信息系统. ERP等各类信息系统中的数据,只有通过BI才能将隐藏在数据中的信息挖掘出来.转化为事实. BI的实施也需要依据企业情况进行“定制”.如何实施 ...
- TileJSON
TileJSON TileJSON is an open standard for representing map metadata. License The text of this specif ...
- Android开发案例 - 自定义虚拟键盘
所有包含IM功能的App(如微信, 微博, QQ, 支付宝等)都提供了Emoji表情之类的虚拟键盘, 如下图: 本文只着重介绍如何实现输入法键盘和自定义虚拟键盘的流畅切换, 而不介绍如何实现虚 ...
- 最快让你上手ReactiveCocoa之基础篇
前言 很多blog都说ReactiveCocoa好用,然后各种秀自己如何灵活运用ReactiveCocoa,但是感觉真正缺少的是一篇如何学习ReactiveCocoa的文章,这里介绍一下. 1.Rea ...
- java在类定义时对hashset的便捷初始化方法
有时候我们在类成员定义时,当这个类成员类型为 HashSet时,我们可以不方便调用 add函数进行初始化,所以可以采用下面的便捷方式来进行初始化 public class MyTest{ final ...
- [iOS]技巧集锦:UICollectionView在旋转屏幕后Cell中的约束不起作用或自动布局失效
这似乎是iOS的一个BUG(ref: stackoverflow的大神们讲的) 解决方案 在继承自UITableViewCell的子类中的init方法中加入如下设置: self.contentView ...
- 父容器利用opacity设置透明后,子元素跟着变透明的解决方案
背景半透明,子元素不透明的效果经常需要用到.通常对父容器使用opacity属性时,子元素也跟着变透明,所以不妨设置父容器的 background-color:rgba(r,g,b,x); 其中x取值从 ...
- [django]django 在apache2上部署静态文件如何加载
首先找到apache2的conf文件下的httpd.conf,添加如下信息: Alias /static/ E:/wamp/Apache24/www/static/ <Directory E:/ ...
- TCP连接建立和终止小结
TCP连接建立(三次握手) 如图: 请求端发送一个SYN到服务器的相应端口,以及初始序号ISN 服务器发送包含服务器的初始序号的SYN作为应答,同时确认序号设置为客户的ISN+1 客户将确认序号设置为 ...