当前位置:嗨网首页>书籍在线阅读

13-解决方案

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

3.3.2 解决方案

jQuery提供一个核心方法 get() ,将所有匹配的jQuery对象转换为一个DOM对象集合。此外,还可以传递一个索引值作为 get() 的参数,这样该方法以DOM对象(如 $.get(1); )的形式返回匹配集中给定索引的元素。现在,虽然可以通过 $.get(index) 获得单个元素的DOM对象,它的存在也只是因为历史的原因;“最佳实践”是使用 [] notation, $("div")[1];

警告

我们讨论的是将jQuery对象转换为DOM数组的核心 .get() 方法,而不是Ajax get 方法——该方法用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展示了输出的效果。

4.png

图3-3 代码输出

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