浅谈attr()和prop()
刚开始学JQ的时候 ,看到attr()和prop()这两个属性的时候感觉很迷茫,而且配合官方给出的推荐使用图:
prop()可以做到的attr()完全都可以,而且做不到的attr()也可以做到。何用? 然后我就把它丢掉了。。。直到。。
今天切一个页面,在checkbox判断的方面上除了问题,就是通过jquery设置选中的时候,发现checked和disabled属性已经设置上去了,而且一旦手动点掉checked或者选中的时候,就无法再次做判断
if($('#d1').attr('disabled')!='disabled'){
alert('1')
}
如果本身是存在disabled的时候,alert无法触发,本身没有disabled属性的时候才能触发,
if($('#d1').prop('disabled')!='disabled'){
alert('1')
}
但是把attr()改成prop()的时候alert()就可以触发了。
还有
通过jquery的attr属性修改选中状态。我们神奇的发现,选中的状态已经变了,但是样式却没有变过来。
$("#reply1").attr("checked", true);
有些同学可能要说了,上面的代码有问题。应该是 $("#reply1").attr("checked", “checked”);
然而我们发现这并没有什么卵用。。。。于是乎我彻底凌乱了,难道是自己的问题还是自己的问题?
于是,我开始了2小时的大脑爆炸!脑子一直处于懵逼状态,最终发现,之前被我遗弃的prop()是可以
触发的。所以我得出结论---JQuery本身的问题。
所以在这里告诉大家,不是我们的错,是jquery的问题!!!
那么现在我们来重新复习一遍prop();
prop() --- JQuery 1.6版本新增属性,包含四种用法:
1,JQueryObject.prop(object);
返回属性的值
2,JQueryObject.prop(propertyName,value);
设置属性和值
3,JQueryObject.prop(property,function(index,currentvalue));
使用函数设置属性和值
4,,JQueryObject.prop(property:value,property:value,....);
设置多个属性和值
注意:
1.当该方法用于返回属性值时,则返回第一个匹配元素的值
2.当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。
prop()方法多用于检索属性值,例如(DOM属性,selectedIndex, tagName, nodeName, nodeType, ownerDocument,
defaultChecked, 和 defaultSelected);
但是检索HTML属性的时候,要使用attr()代替。
相对而言,移除属性使用相对的removeAttr()和removeProp()两种方法。
看来还是自己JQ掌握的太浅了。要加强学习!
浅谈attr()和prop()的更多相关文章
- 浅谈jquery中prop()和attr()
我们都知道,一般在jquery中设置属性时要用到attr()方法,现在我们有一个效果,点击按钮切换复选框的选中状态,下面贴出html代码: <input type="checkbox& ...
- 浅谈jquery关于select框的取值和赋值
浅谈jquery关于select框的取值和赋值 jQuery("#select_id").change(function(){}); // 1.为Select添加事件,当选择其 ...
- 浅谈js分页的几种方法
一个项目中必然会遇到分页这种需求的,分页可以使数据加载更合理,也让页面显示更美观,更有层次感!那么js分页到底如何实现呢?下面我就来讲一下三种循序渐进的方法 1.自己纯手写分页 更深入的去理解分页的意 ...
- 【ASP.NET MVC系列】浅谈ASP.NET MVC八大类扩展(上篇)
lASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操 ...
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- 浅谈在ES5环境下实现const
最近看到一个面试题--用ES5实现const.作为JS初学者的笔者知道在ES6中有const命令,可以用来声明常量,一旦声明,常量的值就不可改变.例如: 1234567891011 const Pi ...
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
- 浅谈 LayoutInflater
浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...
- 浅谈Java的throw与throws
转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...
随机推荐
- Log4j写日志文件使用详解
Log4j输出到控制台成功,写入文件失败 - Log4j和commons log的整合 一.今天在使用commongs-logging.jar和log4j.properties来输出系统日志的时候,发 ...
- P1907飞扬的小鸟
P1907飞扬的小鸟 描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或 ...
- Oracle Created Database Users: Password, Usage and Files References (文档 ID 160861.1)
This document is no longer actively maintained, for info on specific (new) users in recent product e ...
- C#使用Timer.Interval指定时间间隔与指定时间执行事件
C#中,Timer是一个定时器,它可以按照指定的时间间隔或者指定的时间执行一个事件. 指定时间间隔是指按特定的时间间隔,如每1分钟.每10分钟.每1个小时等执行指定事件: 指定时间是指每小时的第30分 ...
- SQL Server认证培训与考试
Microsoft 技术专员 (MTA) - 数据库 https://www.microsoft.com/zh-cn/learning/mta-certification.aspx MCSA: SQL ...
- 打造自己的视频会议系统 GGMeeting(附送源码)
自从在博客园发布广域网即时通信系统GG(QQ高仿版)以来,结识了很多做IM的朋友,然后我和我的伙伴们也接到了很多与IM相关的项目.相比在发布GG之前难以接到项目的状况相比,现在简直太幸福了,虽然做项目 ...
- 用JQ仿造百度书籍预售页面的单屏滚页效果
今天的项目需要做到一个介绍页面,我主动提出走单屏滚页的风格,毕竟交互性好,逼格也高,具体效果可以参照百度知道书籍预售页面. 其实现效果就大概是这样的: 还是老样子,所有步骤文件可以从我的Github上 ...
- Newtonsoft.Json中的时间格式详解.
Newtonsoft.json是一款不错的序列化反序列化第三方组件,具体如何使用属于基础知识,此处不再讲解.看以下代码: public class OutgameEntity { public str ...
- JavaScript思维导图—字符串函数
JavaScript思维导图-来自@王子墨http://julying.com/blog/the-features-of-javascript-language-summary-maps/
- DNS拾遗(二)
MX Record补充 MX记录有优先级的概念,数字越小表示优先级越高.所以一个域可以配置多个不同优先级的MX记录,如果邮件通过第一优先级记录无法递送,则采用第二优先级,以此类推. TXT Recor ...