你的位置:首页 > Java教程

[Java教程]理解jQuery对象$.html


前面的话

  如果要比喻jQuery和原生javascript的关系,我个人认为是自动档和手动档汽车的区别。使用原生javascript,可以知道离合器以及档位的作用;而使用jQuery,则把离合器和手动档位封装到函数,直接前进、后退或驻车即可。所以,熟练使用原生javascript,再去使用jQuery是一个很自然的步骤。从本文开始,将陆续介绍jQuery的相关内容,并给出相关的原生javascript实现。接下来,将详细介绍jQuery对象$

 

$对象

  说起jQuery,最明显的标志,毫无疑问,就是$,$其实是jquery的简写。而使用$()包装的对象就是jQuery对象

  与jQuery对象相对应的就是DOM对象,DOM对象其实就是DOM元素节点对象

  如果直接写document,则指的是document的DOM元素对象

document.onclick = function(){  alert('dom');}

  而如果用$()包括起来,如$(document),是jQuery(document)的简写形式,则指的是jQuery对象

<script src="jquery-3.1.0.js"></script>  <script>  console.log(jQuery(document));//[document]  console.log($(document));//[document]  console.log(document);//#document</script>

  [注意]jQuery对象无法使用DOM对象的方法,DOM对象也无法使用jQuery对象的方法

<script src="jquery-3.1.0.js"></script>  <script>  //无反应  $(document).onclick = function(){    alert(0);  };  //Uncaught TypeError: document.click is not a function  document.click(function(){    alert(1);  });</script>

 

转换

【1】DOM转jQuery对象

  对于一个jQuery对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象

【2】jQuery转DOM对象

  jQuery是一个类数组对象,可以通过[index]或get(index)的方法得到相应的DOM对象

console.log(document === $(document)[0]);//trueconsole.log(document === $(document).get(0));//true

 

共存

  如果jQuery对象和DOM对象指向同一对象,绑定不同函数,则函数会按照顺序依次执行

//先弹出0,再弹出1document.onclick = function(){  alert(0);}$(document).click(function(){  alert(1);});