JQuery 操作对象的属性值
通过JQuery去操作前台对象(div,span...)的属性是很常见的事情,本文就简单的介绍几种操作情形。
1):通过属性值去获取对象
2):用JQuery去修改对象的属性值
3):获取并修改对象的Style的属性值
这里提供一个简单的前台Html代码,后续操作都是对此段Html代码进行的。
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="Scripts/jquery-1.7.1.min.js"></script> <style type="text/css"> .mySpan { color:red; } </style> </head> <body> <form id="form1" runat="server"> <div> <div id="first_div"> <span class="mySpan" title="first_span" nodeUrl="http://google.com/">first</span> <br /> <span class="mySpan" title="second_span" nodeUrl="http://baidu.com/">second</span> <br /> <span class="mySpan" title="third_span" nodeUrl="http://sina.com/">third</span> </div> <input type="button" name="button" value="Button" onclick="GetObjValueByTitle();" /> </div> </form> </body> </html>
1:通过属性值获取对象
基本结构为:对象类别[属性名='属性值'] 。 例如: span[title='first_span']
<script type="text/javascript"> function GetObjValueByTitle() { var obj = $("#first_div span[title='first_span']"); alert(obj.text()); } </script>
2:修改对象的属性值
用到的便是JQuery提供的attr方法,获取属性值的基本结构为:$(obj).attr("属性名");修改属性值的结构为:$(obj).attr("属性名", "属性值");
<script type="text/javascript"> function ChangeObjAttrValue() { var objs = $("#first_div .mySpan"); $.each(objs, function (index, item) { $(item).attr("title", "haha"); alert($(this).attr("nodeUrl")); // $(this) == $(item) }); } </script>
【注:对于具体的对象我们可以随意添加我们自定义的属性,并且我们可以通过自定义的属性名获取对应的属性值,例如此文中的nodeUrl。】
3:获取并修改对象的Style属性值
用到的便是JQuery提供的css方法,获取style中某个属性的结构为:$(obj).css("属性名");修改属性值的结构为:$(obj).css("属性名", "属性值");
<script type="text/javascript"> function ChangeObjStyleValue() { var objs = $("#first_div span"); objs.each(function (index, item) { $(item).css("color", "blue"); }); } </script>
由第二条和第三条的对比我们可以简单的总结:操作对象的属性值(id, name, title......)我们可以用JQuery的attr方法;操作对象的style属性(css中的background,color,width,height......)我们可以用JQuery的css方法。
当我们用JQuery去便利集合时,可以用each方法,each的变现形式有两种:
1):$.each(objs, function(index, item){......});
2):objs.each(function(index, item){......});