jquery checkbox无法用attr()二次勾选问题的解决方法 - Web前端
作者:98wpeu发布时间:2026-08-15分类:网页前端技术浏览:197
导读:今晨,漂亮的测试妹妹提了个奇怪的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.cvtooltip.js 基于jquery的气泡提示插件 - Web前端
- jquery提升性能最佳实践小结 - Web前端
- 细说浏览器特性检测(2)-通用事件检测 - Web前端
- juqery 学习之三 选择器 简单 内容 - Web前端
- jquery获取input的value问题说明 - Web前端
- 基于jquery的图片懒加载js - Web前端
- JQUERY获取form表单值的代码 - Web前端
- 基于jQuery制作迷你背词汇工具 - Web前端
- jQuery基础知识filter()和find()实例说明 - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 7jQuery编写widget的一些技巧分享 - 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属性


