jquery checkbox无法用attr()二次勾选问题的解决方法 - Web前端
作者:98wpeu发布时间:2026-08-15分类:网页前端技术浏览:176
导读:今晨,漂亮的测试妹妹提了个奇怪的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浏览器滚动加载技术实现方案 - Web前端
- jQuery获取动态生成的元素示例 - Web前端
- jQuery事件绑定和委托实例 - Web前端
- jquery网页回到顶部效果(图标渐隐,自写) - Web前端
- 浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法 - Web前端
- 图片放大镜jquery.jqzoom.js使用实例附放大镜图标 - Web前端
- 使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方) - Web前端
- jquery ztree实现下拉树形框使用到了json数据 - Web前端
- jquery处理json数据实例分析 - Web前端
- jquery实现select选中行、列合计示例 - 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属性


