jquery checkbox无法用attr()二次勾选问题的解决方法 - Web前端
作者:98wpeu发布时间:2026-08-15分类:网页前端技术浏览:2
导读:今晨,漂亮的测试妹妹提了个奇怪的bug,说我一功能checkbox时隐时现,比如第一次打开有勾选,第n次打开可能就不选了。想到与美女有亲密接触机会,马上鸡动起来。经过偶层层抽次...
今晨,漂亮的测试妹妹提了个奇怪的bug,说我一功能checkbox时隐时现,比如第一次打开有勾选,第n次打开可能就不选了。
想到与美女有亲密接触机会,马上鸡动起来。
经过偶层层抽次剥茧(da da jiang you),终于知道了原因:attr()在二次选中勾选框时,失效。
比如,如下html页面,一点【选中】、二点【取消选中】、三点【选中】,瞧,不行了呗。
1.HTML
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>prop demo</title>
<style>
img {
padding: 10px;
}
div {
color: red;
font-size: 24px;
}
</style>
<script src="https://code.JQuery.com/jQuery-1.10.2.JS"></script>
</head>
<body>
<input type="Checkbox" checked="checked">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox" checked="checked">
<script>
$( "input[type='checkbox']" ).PRop( "checked", function( i, val ) {
return !val;
});
</script>
</body>
</html>
解决方案,是使用prop()替换attr()方法(在jquery1.6以上),如下代码:
2.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Attr checked</title>
<script type="text/javascript" src="./js/jquery-1.11.2.js"></script>
<script type="text/JavaScript">
function switchChecked(flag) {
$("input[type='checkbox']").prop('checked', flag);
}
</script>
</head>
<body>
<input type="checkbox" />
<input type="button" onclick="switchChecked(true)" value="选中">
<input type="button" onclick="switchChecked(false)" value="取消选中">
</body>
</html>
关于官方文档,见:http://API.JQuery.com/attr/
或者HTTP://api.jquery.com/prop/
摘抄如下:“As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set. To retrieve and change DOM propertIEs such as the checked, selected, or disabled state of FORM elements, use the .prop() method.”
以上这篇jquery checkbox无法用attr()二次勾选问题的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
- 上一篇:jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】 - Web前端
- 下一篇:已经是最后一篇了
相关推荐
- jQuery 跨域访问解决原理案例详解 - Web前端
- jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】 - Web前端
- checkbox 选中一个另一个checkbox也会选中的实现代码 - Web前端
- jQuery 3.0 的 setter和getter 模式详解 - Web前端
- jQuery soColorPacker 网页拾色器 - Web前端
- jQuery 3.0十大新特性 - Web前端
- jQuery实现简单的网页换肤效果示例 - Web前端
- jQuery查找节点并获取节点属性的方法 - Web前端
- 全面解析DOM操作和jQuery实现选项移动操作代码分享 - Web前端
- jQuery+Ajax+PHP弹出层异步登录效果(附源码下载) - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


