新西兰服务器

jquery如何给元素设置属性


jquery如何给元素设置属性

发布时间:2022-03-13 08:45:41 来源:高防服务器网 阅读:99 作者:小新 栏目:web开发

小编给大家分享一下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>  		<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(){      ……  })

上面表示的是 jQuery 中的 change 事件,与 JavaScript 的 onchange 事件是一样的,我们在之后会详细介绍。

在这个例子中,我们其实是想通过$(this).attr("checked")判断单选框是否被选中,如果被选中,就获取该单选框的 value 值。可是运行代码后发现:完全没有效果!这是为什么呢?

实际上,对于表单元素的 checked、selected、disabled 这些属性,我们使用 attr() 方法是没法获取的,而必须使用 prop() 方法来获取。因此,我们把 attr() 方法替换成 prop() 方法就有效果了。

其实,prop()方法的出现就是为了弥补 attr() 方法在表单属性操作中的不足。记住一句话:如果某个属性没法使用 attr() 方法来获取或设置,改换 prop() 方法就可以实现。

以上是“jquery如何给元素设置属性”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注高防服务器网行业资讯频道!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[