Dom 对象:指的是普通的 JavaScript 对象javascript
jQuery对象:是包装 Dom 对象后产生的对象。java
一:JQuery 对象和 Dom 对象jquery
在使用 JQuery 过程当中,咱们通常(也是绝大多数状况下,除非咱们使用了第二个框架)只有两类对象,即:JQuery 对象和 Dom 对象。Dom 对象指的是普通的 JavaScript 对象,而 JQuery 对象则是包装 Dom 对象后产生的对象。在声明变量的时候,出于规范,咱们通常在变量名字前加一个 $ 号以标记它是一个 JQuery 对象,以下:数组
var $var = … // JQuery 对象框架
var var = … // dom 对象dom
可是,后者也能够用来声明 JQuery 对象。函数
特色:this
1:只有 JQuery 对象才能使用 JQuery 方法;atom
2:Dom 对象则使用原生的 JavaScirpt 方法;spa
如何判断一个对象是 JQuery 对象?以下:
1:JQuery 对象是一个数组对象;
2:它具有 JQuery 对象的属性和方法;
1.1 JQuery 对象转换成 Dom 对象
上面咱们说到:JQuery 对象是一个数组对象。那么,实际,获得 [index] 或者使用 get(index) 方法,就能获得其 Dom 对象。如:
var $me= …;
var me1=$me[0];
var me2=$me.get(0); // me1 == me2
1.2 Dom 对象转换成 JQuery 对象
简单了,只要使用 JQuery() 方法就能转换,即:
var domTemp=…;
var $me1 = JQuery(domTemp);
var
me2=(domTemp); //
me1==me2
二:JQuery 中的事件
在 JQuery 中,能够使用 bind 方法来为元素绑定事件,该方法的声明以下:
bind( type [, data], fn)
第一个参数:事件类型,如 click,blue;
第二个参数:成为 event.data 属性值,在事件处理器方法中,做为参数传递进来;
第三个参数:事件处理器方法;
<div id="m">abc</div>
<script src="scripts/jquery.min.js"></script>
<script language="javascript">
$("#m").bind("click", "theValue", function(e){
alert(e.data);
});
</script>
上面的代码,是一个完整的例子,在这个例子中,咱们能够看到 e.data 的值就是 theValue。
2.1 事件对象
在上文中,咱们看到 bind 方法的第三个参数事件处理器的参数 e,它俗称 事件对象,即 event.data 中的 event。虽然听上去很高端,但其实跟普通的方法参数没有任何区别。事件对象有一些重要的属性,这里主要强调下其 target 属性就是引起当前事件的 Dom 对象,即 e.target 就是 this(见下文 this 的函数),以下:
2.2 JQuery 和 Dom 对象的互转实例
在上面的这个例子中,咱们再拓展一下,来看看 JQuery 对象和 Dom 对象之间的互转:
("#m").bind("click", "theValue", function(e){ var me = this; var("#m").bind("click", "theValue", function(e){ var me = this; varme1 =
也可以使用
(this);//也能够使用varme2 =
(me);vardomMe1=me1[0]; // 也能够使用 var domMe2 = $me1.get(0);
alert(e.data);
});
首先,this 是什么,它永远指的携带当前事件的那个 Dom 对象,因而,上文中的两个转换就能够看到效果了,如图:
观察其属性,上面是一个典型的 Dom 对象。
再看 $me1:
能够看到,这是一个典型的 JQuery 对象。
上文中,咱们也说了,JQuery 对象是一个数组对象,而把它转为 Dom 对象,只须要使用 或者me1[0]或者me1.get(0) 就能够了,以下:
或者:
2.2 自定义事件
以下能够注册一个自定义事件:
$("#m").bind(“myclick”, function(){
});
出发它,则使用:
$("#m").trigger(“myclick”);
结尾说一个以前没注意的地方:onload 事件不能同时指定两个事件处理器,可是 ready 事件是能够的。