博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery实践小结
阅读量:5828 次
发布时间:2019-06-18

本文共 1961 字,大约阅读时间需要 6 分钟。

前言

虽然 jQuery 不再更新,但是公司的旧项目中依然在使用,也再次感受了一下属于jQuery的那个时代。但是由于长时间没有使用 jQuery ,导致使用生疏。下面就遇到的一些问题进行总结归纳。

使用 jQuery/javascript判断及改变checkbox选中状态

使用jQuery来判断一个CheckBox是否被选中有以下三种方式:

(1).attr('checked)

看JQuery版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false

(2).prop('checked')

1.6+:true/false

(3).is(':checked')

eg:$("input[type='checkbox']").is(':checked');选中为true,未选中为false;

所有版本:true/false

目前在项目中使用的是is(':checked');的方式,因为兼容性方面比较好。

改变CheckBox的选中状态

(1)使用attr方法进行checkbox状态的改变。这个方法就是对属相的设置,参数中第一个是属性(string类型),第二个值为属性的值。

选中:$("input[type='checkbox']").attr("checked",true);

取消选中:$("input[type='checkbox']").attr("checked",false);

(2)但是有时使用attr操作,虽然属性值改变了,但是页面上的checkbox并没有选中。在这种情况下,建议使用prop方法来操作改变checkbox选中状态。

选中:  

$("input[type='checkbox']").prop("checked",true);

$("input[type='checkbox']").prop({checked:true}); //map键值对

$("input[type='checkbox']").prop("checked",function(){return true;});//函数返回true或false

$("input[type='checkbox']").prop("checked","checked");

取消选中:

$("input[type='checkbox']").prop("checked",false);

一个实现反选的例子:

$(":checkbox").each(function(){  if($(this).prop("checked")){    $(this).prop("checked",false);  }else{    $(this).prop("checked",true);  }});复制代码

使用原生实现以上功能

判断:document.getElementById("someCheckbox").checked  //值为true或false改变document.getElementById("someCheckbox").checked = true;document.getElementById("someCheckbox").checked = false;复制代码

jQuery 多属性选择器

复合属性选择器,需要同时满足多个条件的时候使用,多个属性值取交集。 语法: [selector1][selector2][selectorN] 多个属性选择器

例子: (1)、查询一个input,类型是checkbox,name是chkName

$("input[type=checkbox][name=chkName]")

jQuery中的serialize()方法

在提交form表单的时候,我们可以通过这个方法进行序列化表单值创建URL编码文本字符串。 选择一个或者多个表单元素(如输入和/或文本区),或表单元素本身。

序列化的值可以在生成AJAX请求的时候用于URL查询字符串中。 语法 $(selector).serialize()

$("button").click(function(){    $("div").text($("form").serialize());});复制代码

jQuery序列化表单serialize如何排除元素

在上面的serialize方法中,我们其实不想让一些信息提交,比如信用卡账号。那么我们怎么排除这些信息呢?

$("form[name='forname'] :not(#test1,#test2,#test3...........)").serialize();

使用:not选择器可以帮助我们做到这点。

转载地址:http://ejodx.baihongyu.com/

你可能感兴趣的文章
docker 基础
查看>>
C++中STRING转为INT (转)
查看>>
ASP.NET上传多个文件
查看>>
学习:UTF-8和GBK的区别
查看>>
Shape parameter 形状参数
查看>>
【求助】小系统组成大系统所遇到的问题
查看>>
js 中英文字符串长度
查看>>
让xp系统(win2003系统)支持搜索文件内容
查看>>
使用ServiceStack构建Web服务
查看>>
[Everyday Mathematics]20150123
查看>>
阿里云客户服务部总经理张颖杰:用心聆听,服务见智
查看>>
(转) Deep Reinforcement Learning: Playing a Racing Game
查看>>
2016年中国最具幸福感城市评选出炉
查看>>
阿里云服务器怎么去掉tomcat的8080端口
查看>>
50.2. Compiling mod_caucho.so
查看>>
入会申请书参考
查看>>
rbac 概念
查看>>
iOS开发网络篇—网络编程基础
查看>>
同一WM仓位下不停工厂301转储不产生传输申请TR和传输订单TO
查看>>
SAP S/4 HANA新变化-主数据:物料主数据
查看>>