您的位置:首页 > Web前端 > JQuery

jQuery参考实例 1.14 获取、设定、删除DOM元素的属性

2013-03-28 21:50 766 查看
原文:

http://www.lifelaf.com/blog/?p=237

本文翻译自jQuery Cookbook (O’Reilly 2009) 1.14 Getting, Setting, and Removing DOM Element Attributes

需求

在用jQuery函数选中DOM元素后,需要访问或设定该DOM元素的属性值。

解决方案

jQuery提供了一个叫做attr()的方法来访问或设定属性值。下面的代码首先设定<a>元素的href属性,然后又对该属性值进行访问:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<a>jquery.com</a>
<script type="text/JavaScript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
</script>
<script type="text/JavaScript">
// 显示jQuery主页的URL
alert(
jQuery('a').attr('href','http://www.jquery.com').attr('href')
);
</script>
</body>
</html>

在上面的代码中,我们首先选择了HTML文档中仅有的一个<a>元素并设定其href属性,然后又通过向attr()方法传属性名来获取该属性的值。如果文档中包含多个<a>元素,那么attr()方法只会对第一个匹配到的<a>元素起作用。上述代码运行后,浏览器将在弹出框中显示我们设定的href值。

在HTML中大多数元素都会有多个属性,同样,用attr()方法也可以一次性设定多个属性值。比如,通过向attr()方法传入JSON对象,我们可以在设定href属性的同时设定title属性:

jQuery('a').attr({'href':'http://www.jquery.com','title':'jquery.com'}).attr('href')

在提供添加属性的功能外,jQuery还提供了删除属性的操作。通过向removeAttr()方法传入属性名,可以从HTML元素中删除该属性(比如:jQuery(‘a’)removeAttr(‘title’))。

讨论

除了attr()方法,jQuery还提供了一系列特殊的方法来处理HTML元素的class属性。class属性可能包含多个值(比如:class=”class1 class2 class3″),而这些特殊的方法可以很好的处理这一情况。

这些方法包括:

addClass()

添加class属性值
hasClass()

检查元素是否包含某个class属性
removeClass()

移除class属性值
toggleClass()

如果class属性值不存在,则添加该属性值;如果class属性值存在,则删除该属性值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: