jquery怎么给元素设置属性
设置方法:1、使用attr()方法,语法“$(selector).attr(属性名,值)”或“$(selector).attr({属性名:值;})”;2、使用prop()方法,语法“$(selector).prop(属性名,值)”。
本教程操作环境:windows7系统、jquery1.10.2版本、Dell G3电脑。
jquery给元素设置属性
1、使用attr()方法
attr() 方法设置或返回被选元素的属性值。根据该方法不同的参数,其工作方式也有所差异。
语法:
//单个属性 $(selector).attr(属性名,值) //多个属性 $(selector).attr({属性名:值;属性值:值...})
2、使用prop()方法
prop() 方法设置或返回被选元素的属性和值。
当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。
语法:
//单个属性 $(selector).prop(属性名,值) //多个属性 $(selector).prop({属性名:值;属性值:值...})
3、attr()和prop()方法的区别
prop() 方法和 attr() 方法相似,都是用来获取或设置元素的 HTML 属性的,不过两者也有着本质上的区别。
jQuery 官方建议:具有 true 和 false 这两种取值的属性,如 checked、selected 和 disabled 等,建议使用 prop() 方法来操作,而其他的属性都建议使用 attr() 方法来操作。
示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script src="js/jquery-1.10.2.min.js"></script> <script> $(function () { $('input[type="radio"]').change(function(){ var bool = $(this).attr("checked"); if(bool){ $("p").text("你选择的是:" + $(this).val()); } }) }) </script> </head> <body> <p> <label><input type="radio" name="fruit" value="苹果" />苹果</label> <label><input type="radio" name="fruit" value="香蕉" />香蕉</label> <label><input type="radio" name="fruit" value="西瓜" />西瓜</label> </p> <p></p> </body> </html>
预览效果如图 1 所示。
分析
$().change(function(){ …… })
上面表示的是 jQuery 中的 change 事件,与 JavaScript 的 onchange 事件是一样的,我们在之后会详细介绍。
在这个例子中,我们其实是想通过$(this).attr("checked")判断单选框是否被选中,如果被选中,就获取该单选框的 value 值。可是运行代码后发现:完全没有效果!这是为什么呢?
实际上,对于表单元素的 checked、selected、disabled 这些属性,我们使用 attr() 方法是没法获取的,而必须使用 prop() 方法来获取。因此,我们把 attr() 方法替换成 prop() 方法就有效果了。
其实,prop()方法的出现就是为了弥补 attr() 方法在表单属性操作中的不足。记住一句话:如果某个属性没法使用 attr() 方法来获取或设置,改换 prop() 方法就可以实现。
【推荐学习:jQuery视频教程、web前端视频】
以上就是jquery怎么给元素设置属性的详细内容,更多请关注dnjidi.com其它相关文章!
相关阅读
- h5和css3有哪些新特性
- css换行代码是什么
- css使图片居中的方法有哪些
- 巧用css将背景图像固定在视口
- 巧用css规定背景绘制区域
- 一招搞定css相对原点定位背景图片
- 如何使用css设置背景图的重复与否
- 教你一招搞定css背景图的大小
- 一招搞定css定位元素的背景图像
- css如何定义网格线大小
- css如何设置指定网格的大小和位置
- 怎么实现水印?浅析水印实现的几种方式
- 如何使用JavaScript比较两个日期
- 如何使用前端三剑客创建漂亮的倒计时效果
- javascript的变量是什么
- javascript中变量的命名有什么要求
- javascript是不是面向对象语言
- vue和vuejs一样吗