jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQueryDOM操作中会经常用到attr(),attr()有4个表达式。
1.
2.
3.
4.attr(properties)
html代码结构:
<ptitle="你最喜欢的水果是。">你最喜欢的水果是?</p>
<ul>
</ul>
1.attr(name)//获取属性的值
1.1使用attr(name)获取title值:
<script>
alert($("ul li:eq(1)").attr("title"));
</script>
结果:橘子汁
1.2使用attr(name)获取value值:
<script>
alert($("ul li:eq(1)").attr("value"));
</script>
结果:123
2.
2.1使用attr(name,value)修改title值为:不吃橘子
<script>
$("ul li:eq(1)").attr("title","不吃橘子");
alert($("ul li:eq(1)").attr("title"));
</script>
结果:不吃橘子
3.
3.1把value属性的值设置设给title属性。
<script>
$("ul li:eq(1)").attr("title",function(){ returnthis.value});
alert($("ul li:eq(1)").attr("title"));
</script>
结果:123
4.attr(properties)
4.1获取<ul>里第2个<li>设置title和value属性。
<script>
$("ul li:eq(1)").attr({title:"不喝橘子汁",value:"不是123"});
alert($("ul li:eq(1)").attr("title"));
alert($("ul li:eq(1)").attr("value"));
</script>
结果:不喝橘子汁
4.2获取<ul>里第2个<li>设置class。
<script>
$("ul li:eq(1)").attr({className:"lili"});
</script>
结果:第二个li的html:<liclass="lili" title="橘子汁"value="123">橘子</li>
4.3获取<ul>里第2个<li>设置id。
<script>
$("ul li:eq(1)").attr({id:"lili"});
</script>
结果:第二个li的html:<li id="lili"title="橘子汁"value="123">橘子</li>
4.4获取<ul>里第2个<li>设置style。
<script>
$("ul li:eq(1)").attr({style:"color:red"});
</script>
那么怎么删除属性呢?
<script>
$("ul li:eq(1)").removeAttr ("title");
</script>
就这么简单,attr
其他例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>03_select</title>
<meta name="author" content="Administrator" />
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function() {
$("tbody tr").each(function(n){
//使用attr只加入一个参数可以获取属性值
//alert($(this).attr("id"));
//通过attr()设置两个参数,可以完成对某个节点的属性的设置
// $(this).attr("title",$(this).children("td:eq(1)").html());
//可以基于json的格式来设置属性,甚至可以设置一些非html的属性,通过这些属性来做一些特殊处理
//但是设置特殊属性的这种方式在jquery1.4之后就基本不使用,因为在1.4之后提供data方法
$(this).attr({
"title":$(this).children("td:eq(1)").html(),
"id":$(this).children("td:eq(0)").html(),
"personId":n
});
//可以移除属性
// $("tr#2").removeAttr("personid");
});
});
</script>
</head>
<body>
<a href="jquery_basic01.html">basic01</a>
<a href="jquery_basic02.html">basic02</a>
<a href="jquery_basic03.html">basic03</a>
<a href="http://www.zttc.edu.cn">zttc</a>
<a href="http://zjc.zttc.edu.cn:8080">zjc</a>
<table width="700" border="1" align="center" id="users">
<thead>
<tr>
<td>用户标识</td>
<td>用户姓名</td>
<td>用户年龄</td>
<td>用户密码</td>
</tr>
</thead>
<tbody>
<tr id="abc">
<td>1</td>
<td>张三</td>
<td>23</td>
<td>abc123</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>33</td>
<td>abc123</td>
</tr>
<tr>
<td>3</td>
<td>王五</td>
<td>13</td>
<td>abc123</td>
</tr>
<tr>
<td>4</td>
<td>赵六</td>
<td>45</td>
<td>abc123</td>
</tr>
<tr>
<td>5</td>
<td>朱琪</td>
<td>21</td>
<td>abc123</td>
</tr>
</tbody>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>03_select</title>
<meta name="author" content="Administrator" />
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function() {
//设置所有a中以http为链接开头的超链接在新窗口打开
$("a[href^='http://']").attr("target","_blank");
//设置tbody中的tr的title属性,让属性的值为第几个tr
$("tbody tr").attr("title",function(n){
return "这是第"+(n+1)+"个tr";
});
});
</script>
</head>
<body>
<a href="jquery_basic01.html">basic01</a>
<a href="jquery_basic02.html">basic02</a>
<a href="jquery_basic03.html">basic03</a>
<a href="http://www.zttc.edu.cn">zttc</a>
<a href="http://zjc.zttc.edu.cn:8080">zjc</a>
<table width="700" border="1" align="center" id="users">
<thead>
<tr>
<td>用户标识</td>
<td>用户姓名</td>
<td>用户年龄</td>
<td>用户密码</td>
</tr>
</thead>
<tbody>
<tr id="abc">
<td>1</td>
<td>张三</td>
<td>23</td>
<td>abc123</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>33</td>
<td>abc123</td>
</tr>
<tr>
<td>3</td>
<td>王五</td>
<td>13</td>
<td>abc123</td>
</tr>
<tr>
<td>4</td>
<td>赵六</td>
<td>45</td>
<td>abc123</td>
</tr>
<tr>
<td>5</td>
<td>朱琪</td>
<td>21</td>
<td>abc123</td>
</tr>
</tbody>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>03_select</title>
<meta name="author" content="Administrator" />
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function() {
var props = initHeader();
var users = getUsers(props);
// var json = {"id":1,"username":张三,"age":23,"password":abc123};
// alert(json.id);
$(users).each(function(n){
var str = "";
for(var i=0;i<props.length;i++) {
str+=this[props[i]]+",";
}
alert(str);
});
function getUsers(props) {
var users = new Array();
$("tbody tr").each(function(n){
//不能基于字符串添加,只能基于对象添加
var user = new Object();
$(this).find("td").each(function(tn){
user[props[tn]] = $(this).html();
});
users.push(user);
});
return users;
}
function initHeader() {
//可以将一些值存储在标签中,这个值不会通过属性的方式显示给用户
// $("thead tr td:eq(0)").data("prop","id");
// $("thead tr td:eq(1)").data("prop","username");
// $("thead tr td:eq(2)").data("prop","age");
// $("thead tr td:eq(3)").data("prop","password");
var props = $("thead td").map(function(n){
return $(this).attr("title");
}).get();
return props;
}
});
</script>
</head>
<body>
<table width="700" border="1" align="center" id="users">
<thead>
<tr>
<td title="id">用户标识</td>
<td title="username">用户姓名</td>
<td title="age">用户年龄</td>
<td title="password">用户密码</td>
<td title="address">地址</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<tr id="abc">
<td>1</td>
<td>张三</td>
<td>23</td>
<td>abc123</td>
<td>昭通</td>
<td>添加 删除</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>33</td>
<td>abc123</td>
<td>昭通</td>
<td>添加 删除</td>
</tr>
<tr>
<td>3</td>
<td>王五</td>
<td>13</td>
<td>abc123</td>
<td>昭通</td>
<td>添加 删除</td>
</tr>
<tr>
<td>4</td>
<td>赵六</td>
<td>45</td>
<td>abc123</td>
<td>卡努曼</td>
<td>添加 删除</td>
</tr>
<tr>
<td>5</td>
<td>朱琪</td>
<td>21</td>
<td>abc123</td>
<td>昭通</td>
<td>添加 删除</td>
</tr>
</tbody>
</table>
</body>
</html>