属性操作,指的是使用 jQuery 来操作一个元素的 HTML 属性。注意,这里说的属性操作,指的是 HTML 属性,而不是 CSS 属性。
像下面有一个 input 元素的属性操作,指的就是操作它的 id、type、value 等,其他元素也类似。
- <input id="btn" type="button" value="提交"/>
在 jQuery 中,对于 HTML 属性的操作共有以下4种。
本节教程先来介绍前 2 种,后两种下节介绍。
在 jQuery 中,我们可以使用 attr() 方法来获取某一个元素的 HTML 属性值。
语法:
获取某个元素的 HTML 属性值,一般都是通过属性名来找到该属性对应的值。
举例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title></title>
- <script src="js/jquery-1.12.4.min.js"></script>
- <script>
- $(function () {
- $("#btn_src").click(function () {
- alert($("img").attr("src"));
- });
- $("#btn_alt").click(function () {
- alert($("img").attr("alt"));
- });
- })
- </script>
- </head>
- <body>
- <img src="img/jquery.png" alt="jquery标志"/><br />
- <input id="btn_src" type="button" value="获取src属性值"/>
- <input id="btn_alt" type="button" value="获取alt属性值"/>
- </body>
- </html>
预览效果如图 1 所示。
在这个例子中,我们使用 attr() 方法来获取 img 元素的 src 和 alt 两个属性的取值。
在 jQuery 中,设置某一个元素的 HTML 属性值,我们用的也是 attr() 方法。
语法:
对于设置属性,jQuery 有两种语法形式:一种是“设置一个属性”,另一种是“设置多个属性”。对于设置多个属性的语法,我们传入 attr() 方法的是一个包含“键值对”的对象。使用这种语法可以轻松地扩展,以便一次性修改多个属性。
举例:设置一个属性
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title></title>
- <script src="js/jquery-1.12.4.min.js"></script>
- <script>
- $(function () {
- var flag = true;
- $("#btn").click(function(){
- if(flag){
- $("#pic").attr("src", "img/2.png");
- flag = false;
- }else{
- $("#pic").attr("src", "img/1.png");
- flag = true;
- }
- });
- })
- </script>
- </head>
- <body>
- <input id="btn" type="button" value="修改" /><br/>
- <img id="pic" src="img/1.png" />
- </body>
- </html>
默认情况下,预览效果如图 2 所示。
我们点击【修改】按钮后,预览效果如图 3 所示。
这里使用一个布尔变量 flag 来标识两种状态,使两张图片可以来回切换。
举例:设置多个属性
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title></title>
- <script src="js/jquery-1.12.4.min.js"></script>
- <script>
- $(function () {
- var flag=true;
- $("#btn").click(function () {
- if (flag) {
- $("#pic").attr({"src":"img/2.png","alt":"漩涡香燐","title":"漩涡香燐"});
- flag=alse;
- }else{
- $("#pic").attr({"src":"img/1.png","alt":"日向雏田","title":"日向雏田"});
- flag=true;
- }
- });
- })
- </script>
- </head>
- <body>
- <input id="btn" type="button" value="修改" /><br/>
- <img id="pic" src="img/1.png" alt="日向雏田" title="日向雏田"/>
- </body>
- </html>
默认情况下,预览效果如图 4 所示。
我们点击【修改】按钮后,预览效果如图 5 所示。