关于jQuery中括号"[]"用法的求助
时间:2009-09-02
来源:互联网
//判断当前是否选中
var hasSelected=$(this).hasClass(options.selected);
//如果选中,则移出selected类,否则就加上selected类
$(this)[hasSelected?"removeClass":"addClass"](options.selected)
//查找内部的checkbox,设置对应的属性。
.find(':checkbox').attr('checked',!hasSelected);
请看那段红色代码,我不理解的是为啥"[ ]"内的代码可以这样跟在$(this)后面而不需要加 "." 或者别的连接符, 我想了解一下这个"[ ]"符号的具体用法说明! 谢谢!
作者: louiskun 发布时间: 2009-09-02
简单来说有个对象obj,obj有属性attr那么:obj.attr == obj['attr']
此外,数组的属性名可以为数字,而对象的属性名必须是字符串
作者: keakon 发布时间: 2009-09-02
按照你的解释,那这句代码就是$(this)[addclass]了,这个我可以理解,但上面那句后面还加了$(this)[addclass](options.selected), 我就又不明白这个组合的 obj['attr'] () 意思了!! 呵呵 可能习惯了c#的强类型代码规范,转到js上还没适应。
作者: louiskun 发布时间: 2009-09-02
相当于
$(this).addClass(options.selected)
作者: keakon 发布时间: 2009-09-03
作者: sheva82 发布时间: 2009-09-03
作者: louiskun 发布时间: 2009-09-03

作者: sd1132632 发布时间: 2009-09-04
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28