1-4 jQuery对象与DOM对象
本节编程练习不计算学习进度,请电脑登录imooc.com操作

jQuery对象与DOM对象

对于才开始接触jQuery库的初学者,我们需要清楚认识一点:

jQuery对象与DOM对象是不一样的

可能一时半会分不清楚哪些是jQuery对象,哪些是DOM对象,下面重点介绍一下jQuery对象,以及两者相互间的转换。

通过一个简单的例子,简单区分下jQuery对象与DOM对象:

<p id=”imooc”></p>

我们要获取页面上这个id为imooc的p元素,然后给这个文本节点增加一段文字:“您好!通过慕课网学习jQuery才是最佳的途径”,并且让文字颜色变成红色。

普通处理,通过标准JavaScript处理:

var p = document.getElementById('imooc');
p.innerHTML = '您好!通过慕课网学习jQuery才是最佳的途径';
p.style.color = 'red';

通过原生DOM模型提供的document.getElementById(“imooc”) 方法获取的DOM元素就是一个DOM对象,再通过innerHTML与style属性处理文本与颜色。

jQuery的处理:

var $p = $('#imooc');
$p.html('您好!通过慕课网学习jQuery才是最佳的途径').css('color','red');

通过$('#imooc')方法会得到一个$p的jQuery对象,$p是一个类数组对象。这个对象里面包含了DOM对象的信息,然后封装了很多操作方法,调用自己的方法html与css,得到的效果与标准的JavaScript处理结果是一致的。

通过标准的JavaScript操作DOM与jQuery操作DOM的对比,我们不难发现:

  1. 通过jQuery方法包装后的对象,是一个类数组对象。它与DOM对象完全不同,唯一相似的是它们都能操作DOM。
  2. 通过jQuery处理DOM的操作,可以让开发者更专注业务逻辑的开发,而不需要我们具体知道哪个DOM节点有那些方法,也不需要关心不同浏览器的兼容性问题,我们通过jQuery提供的API进行开发,代码也会更加精短。

PS:大家这里做个大概印象就OK,后面会有深入的讲解。

任务

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  6. <title></title>
  7. <script src="http://code.jquery.com/jquery-1.11.3.js"></script>
  8.  
  9. <!-- 使用JS原生语法 -->
  10. <script type="text/javascript">
  11. window.onload = function(){
  12. // 通过原生JS语法获取id为imooc1的元素p
  13. var p = document.getElementById('imooc1');
  14. // 将元素p在html中内容改变
  15. p.innerHTML = 'P1:您好!通过慕课网学习jQuery才是最佳的途径';
  16. // 将元素p的内容颜色改为红色
  17. p.style.color = 'red';
  18. }
  19. </script>
  20.  
  21. <!-- 使用jQuery语法 -->
  22. <script type="text/javascript">
  23. $(document).ready(function() {
  24. /**
  25. * 通过jQuery语法获取id为imooc2的元素获得一个jQuery对象
  26. * 调用该对象的html()方法进行更改内容
  27. * 调用该对象的css()方法进行更改颜色样式
  28. */
  29. var $p = $('#imooc2');
  30. $p.html('P2:您好!通过慕课网学习jQuery才是最佳的途径').css('color','red');
  31. });
  32. </script>
  33.  
  34. </head>
  35.  
  36. <body>
  37. <p id="imooc1"></p>
  38. <p id="imooc2"></p>
  39. </body>
  40.  
  41. </html>
下一节