世上無難事只怕有心人,敲代碼也一樣只要你用心去搞懂一件事,即使一個小小的用法對你以後也會有很大的作用; 項目雖然趕得緊但是有些問題百度找完答案解決之後,也要自己梳理一遍做到心領神會!!!今天就直接來上周遇到的情況: 就是使用JS中的類似:documnet.getelementbyid('')方法與$ ...
世上無難事只怕有心人,敲代碼也一樣只要你用心去搞懂一件事,即使一個小小的用法對你以後也會有很大的作用;
項目雖然趕得緊但是有些問題百度找完答案解決之後,也要自己梳理一遍做到心領神會!!!今天就直接來上周遇到的情況:
就是使用JS中的類似:documnet.getelementbyid('')方法與$('xxx')獲得對象的區別於怎麼進行兩者之間的轉換;
現在開始直奔今天主題:兩者對象的區別(以下數據通過打日誌的方法就可以獲得 typeof() 即可)
Jquery得到的對象類型:$('xxx')===================得到的類型是:[object Object]
Js得到的對象的類型:docunment.getelementbyid('')==得到的類型是:[object HTMLDivElement]
KeyNote:
a: 什麼是Jquery對象?
答:通過jQuery包裝DOM對象後產生的對象。jQuery對象是jQuery獨有的 != Js中的對象,只能可以使用jQuery里的方法。
Jquery中的對象既然是對JS中對象的包裝,那麼一定會有轉換的方法;看了網上很多例子基本上是千篇一律,不過有一點還是很慶幸的,
那就是例子通俗易懂,那麼下麵就直接開始上菜了o(∩_∩)o
前提:如果一個獲取的是jQuery對 象,那麼我們在變數前面加上$,如:var $variab = jQuery對象;
如果獲取的是DOM對象,則與習慣普通一樣:var variab = DOM對象;這麼約定只是便於講解與區別,實際使用中並不規定。
轉換方法:
a : jQuery對象轉成DOM對象;
兩種轉換方式將一個jQuery對象轉換成DOM對象:[index]和.get(index);
(1)jQuery對象是一個數據對象,可以通過[index]的方法,來得到相應的DOM對象。
如:var $v =$("#v") ; //jQuery對象
var v=$v[0]; //DOM對象
alert(v.checked) //檢測這個checkbox是否被選中
(2)jQuery本身提供,通過.get(index)方法,得到相應的DOM對象
如:var $v=$("#v"); //jQuery對象
var v=$v.get(0); //DOM對象
alert(v.checked) //檢測這個checkbox是否被選中
b : DOM對象轉成jQuery對象:
對於已經是一個DOM對象,只需要用$()把DOM對象包裝起來,就可以獲得一個jQuery對象了。$(DOM對象)
如:var v=document.getElementById("v"); //DOM對象
var $v=$(v); //jQuery對象
轉換後,就可以任意使用jQuery的方法了。
通過以上方法,可以任意的相互轉換jQuery對象和DOM對象。需要再強調註意的是:DOM對象才能使用DOM中的方法,jQuery對象是不可以用DOM中的方法。
Eg :
下麵是其它的相關使用方法:
1、DOM對象轉jQuery對象
普通的Dom對象一般可以通過$()轉換成jQuery對象。
如:$(document.getElementById("msg"))
返回的就是jQuery對象,可以使用jQuery的方法。
2、jQuery對象轉DOM對象
由於jQuery對象本身是一個集合。所以如果jQuery對象要轉換為Dom對象則必須取出其中的某一項,一般可通過索引取出。
如: $("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]
這些都是Dom對象,可以使用Dom中的方法,但不能再使用jQuery的方法。
以下幾種寫法都是正確的:
$("#msg").html();
$("#msg")[0].innerHTML;
$("#msg").eq(0)[0].innerHTML;
$("#msg").get(0).innerHTML;
3、兩種方法獲取對象方式: 如有 <form name="formName" id="formid"></form>
通過id:
document.getElementById('formid');
$('#formid')
通過name
document.getElementsByName('formName')[0]
$("form[name='formName']")
Jquery自帶的方法列表如下:
版權聲明:本文為博主原創文章,如需轉載,請標明出處。