13-解决方案
3.3.2 解决方案
jQuery提供一个核心方法 get() ,将所有匹配的jQuery对象转换为一个DOM对象集合。此外,还可以传递一个索引值作为 get() 的参数,这样该方法以DOM对象(如 $.get(1); )的形式返回匹配集中给定索引的元素。现在,虽然可以通过 $.get(index) 获得单个元素的DOM对象,它的存在也只是因为历史的原因;“最佳实践”是使用 [] notation, $("div")[1]; 。
警告
我们讨论的是将jQuery对象转换为DOM数组的核心
.get()方法,而不是Ajaxget方法——该方法用HTTP GET请求加载一个远程页面。
因为 get() 方法返回一个数组,所以可以遍历数组获得每个DOM元素。一旦获得DOM元素,就可以对它调用传统的DOM属性和方法。我们来研究一个从元素中取得 innerHTML 属性的简单例子:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Chapter 3 - Recipe 3 - Converting a selected jQuery object into a
raw DOM object</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
(function($){
$(document).ready(function(){
var inner = $("div")[0].innerHTML;
alert(inner);
});
})(jQuery);
</script>
</head>
<body>
<div>
<p>
jQuery, the write less, do more JavaScript library. Saving the day
for web developers since 2006.
</p>
</div>
</body>
</html>
图3-3展示了输出的效果。

从选择页面上的所有 <div> 元素并调用 [0] 开始。传入想要处理的选择元素索引;因为页面上只有一个 <div> ,所以传入的索引为0。最后,调用一个属性(这里是 innerHTML )读取原始的DOM元素。