jquery往对象添加元素(jquery怎么给元素设置属性)
设置方法:1 、使用attr()方法 ,语法“$(selector).attr(属性名,值) ”或“$(selector).attr({属性名:值;}) ”;2 、使用prop()方法 ,语法“$(selector).prop(属性名,值) ” 。
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> <div> <label><input type="radio" name="fruit" value="苹果" />苹果</label> <label><input type="radio" name="fruit" value="香蕉" />香蕉</label> <label><input type="radio" name="fruit" value="西瓜" />西瓜</label> </div> <p></p> </body> </html>预览效果如图 1 所示 。
分析:
$().change(function(){ …… })在这个例子中,我们其实是想通过$(this).attr("checked")判断单选框是否被选中 ,如果被选中 ,就获取该单选框的 value 值 。可是运行代码后发现:完全没有效果!这是为什么呢?
实际上,对于表单元素的 checked 、selected 、disabled 这些属性 ,我们使用 attr() 方法是没法获取的 ,而必须使用 prop() 方法来获取 。因此,我们把 attr() 方法替换成 prop() 方法就有效果了 。
其实 ,prop()方法的出现就是为了弥补 attr() 方法在表单属性操作中的不足 。记住一句话:如果某个属性没法使用 attr() 方法来获取或设置 ,改换 prop() 方法就可以实现。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!