document.getElementById()與 $()區別

document.getElementById()返回的是DOM對象,而$()返回的是jQuery對象

什么是jQuery對象??
---就是通過jQuery包裝DOM對象后產生的對象。jQuery對象是jQuery獨有的,其可以使用jQuery里的方法。?
比如:?
$("#test").html() 意思是指:獲取ID為test的元素內的html代碼。其中html()是jQuery里的方法?
這段代碼等同于用DOM實現代碼:?
document.getElementById("id").innerHTML;?
雖然jQuery對象是包裝DOM對象后產生的,但是jQuery無法使用DOM對象的任何方法,同理DOM對象也不能使用jQuery里的方法.亂使用會報錯。比如:$("#test").innerHTML、document.getElementById("id").html()之類的寫法都是錯誤的。?
還有一個要注意的是:用#id作為選擇符取得的是jQuery對象與document.getElementById("id")得到的DOM對象,這兩者并不等價。請參看如下說的兩者間的轉換。?
既然jQuery有區別但也有聯系,那么jQuery對象與DOM對象也可以相互轉換。在再兩者轉換前首先我們給一個約定:如果一個獲取的是jQuery對象,那么我們在變量前面加上$,如:var $variab = jQuery對象;如果獲取的是DOM對象,則與習慣普通一樣:var variab = DOM對象;這么約定只是便于講解與區別,實際使用中并不規定。?

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是否被選中?

DOM對象轉成jQuery對象:?
對于已經是一個DOM對象,只需要用$()把DOM對象包裝起來,就可以獲得一個jQuery對象了。$(DOM對象)?
如:var v=document.getElementById("v"); //DOM對象?
var $v=$(v); //jQuery對象?
轉換后,就可以任意使用jQuery的方法了。?
通過以上方法,可以任意的相互轉換jQuery對象和DOM對象。需要再強調注意的是:DOM對象才能使用DOM中的方法,jQuery對象是不可以用DOM中的方法。?

下面是其它的相關使用方法:
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']")

轉載于:https://www.cnblogs.com/hujunzheng/p/4907482.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531402.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531402.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531402.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于gedit的編碼問題

今天由于gedit的編碼格式導致LCD顯示屏的問題&#xff0c;開始沒有想到后來才發現&#xff0c;在這記錄一下 #include <stdio.h> #include <unistd.h> #include <stdio.h> #include <fcntl.h> #include <linux/fb.h> #include <sys/mman.h>…

c語言表白程序代碼

雙十一要到了&#xff0c;好激動啊&#xff01;&#xff01;&#xff01; 是時候準備出手了&#xff01; 花了一天的時間寫的表白代碼。 表示自己弱弱的..... 看了網上好多都是js寫的&#xff0c;感覺碉堡了&#xff01;js用的不熟&#xff0c;前端不好&#xff0c;java&#x…

tiny4412移植tslib庫

1、將tslib-1.4.tar.gz拷貝到虛擬機某個路徑進行解壓 2、進入解壓路徑tslib 3、執行#./autogen.sh 如果提示&#xff1a;./autogen.sh: 4: ./autogen.sh: autoreconf: not found 原因&#xff1a;沒有安裝automake工具, 解決辦法:需要安裝此工具&#xff1a; apt-get instal…

移植QT到tiny4412開發板

目錄&#xff08;一&#xff09; 環境準備&#xff08;二&#xff09; Qt源代碼下載&#xff08;三&#xff09; 移植tslib庫&#xff08;四&#xff09;操作流程1.解壓qt源碼包2.配置編譯環境3.生成Makefile4.編譯安裝5.安裝一些庫用來支持 qt6. 添加以下內容到開發板目錄下的…

c++面試常用知識(sizeof計算類的大小,虛擬繼承,重載,隱藏,覆蓋)

一. sizeof計算結構體 注&#xff1a;本機機器字長為64位 1.最普通的類和普通的繼承 #include<iostream> using namespace std;class Parent{ public:void fun(){cout<<"Parent fun"<<endl;} }; class Child : public Parent{ public:void fun(){…

嵌入式面試題(一)

目錄1 關鍵字volatile有什么含義&#xff1f;并給出三個不同的例子2. c和c中的struct有什么不同&#xff1f;3.進程和線程區別4.ARM流水線5.使用斷言6 .嵌入式系統的定義7 局部變量能否和全局變量重名&#xff1f;8 如何引用一個已經定義過的全局變量&#xff1f;9、全局變量可…

能ping通ip但無法ping通域名和localhost //ping: bad address 'www.baidu.com'

錯誤描述&#xff1a; ~ # ping localhost ping: bad address localhost原因&#xff0c;在/etc目錄下缺少hosts文件&#xff0c;將linux中的/etc hosts文件拷入即可 ~ # ping localhost PING localhost (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: seq0 ttl64 tim…

eclipse導入web項目之后項目中出現小紅叉解決辦法

項目中有小紅叉我遇到的最常見的情況&#xff1a; 1、項目代碼本身有問題。&#xff08;這個就不說了&#xff0c;解決錯誤就OK&#xff09; 2、項目中的jar包丟失。&#xff08;有時候eclipse打開時會出現jar包丟失的情況&#xff0c;關閉eclipse重新打開或者重新引入jar包就O…

arm開發板通過網線連接筆記本電腦上外網

需要工具&#xff1a;arm開發板&#xff0c;網線&#xff0c;一臺雙網卡的win7筆記本電腦&#xff08;筆記本電腦一般都是雙網卡&#xff09; 一、筆記本電腦需要先連上外網&#xff0c;可以連上家里的WIFI&#xff0c;或者手機開熱點&#xff08;本人未測試過連接手機的熱點&…

windows下實現Git在局域網使用

1.首先在主機A上創建一個文件夾用于存放你要公開的版本庫。然后進入這個文件夾&#xff0c;右鍵->Git create repository here&#xff0c;彈出的窗口中勾選Make it Bare&#xff01;之后將這個文件夾完全共享&#xff08;共享都會吧&#xff1f;注意權限要讓使用這個文件夾…

解決linux下QtCreator無法輸入中文的情況

安裝了QtCreator(Qt5.3.1自帶版本)后無法輸入中文&#xff0c;確切的說是無法打開輸入法。以前使用iBus輸入法的時候沒有這個問題&#xff0c;現在使用sougou輸入法才有的這個問題。 可以查看此文 http://www.cnblogs.com/oloroso/p/5114041.html 原因 有問題就得找原因&…

lintcode 滑動窗口的最大值(雙端隊列)

題目鏈接&#xff1a;http://www.lintcode.com/zh-cn/problem/sliding-window-maximum/# 滑動窗口的最大值 給出一個可能包含重復的整數數組&#xff0c;和一個大小為 k 的滑動窗口, 從左到右在數組中滑動這個窗口&#xff0c;找到數組中每個窗口內的最大值。 樣例 給出數組 [1…

你的main函數規范嗎?

在學習c語言的時候&#xff0c;有一個函數一直被我們使用&#xff0c;那就是main函數&#xff0c;但是你知道標準里面是怎么規定它的寫法嗎&#xff1f; 平時看見的main函數有下面這幾種&#xff1a; 1.int main(void){ }2.int main(){ }3.int main(int argc, char *argv[])…

lintcode 最長上升連續子序列 II(二維最長上升連續序列)

題目鏈接&#xff1a;http://www.lintcode.com/zh-cn/problem/longest-increasing-continuous-subsequence-ii/ 最長上升連續子序列 II 給定一個整數矩陣&#xff08;其中&#xff0c;有 n 行&#xff0c; m 列&#xff09;&#xff0c;請找出矩陣中的最長上升連續子序列。&a…

適用于Linux的Windows子系統WSL

以前使用的都是在虛擬機里安裝linux&#xff0c;最近才發現在win10提供了WSL(Windows Subsystem for Linux) &#xff0c;簡單來說就是可以在win10里面直接使用Linux。 &#xff08;一&#xff09;首先打開Microsoft Store , 搜索 Linux &#xff08;二&#xff09;選擇自己需…

jsp通過易寶方式實現在線支付

項目下載地址: https://github.com/hjzgg/OnlinePayment 參考&#xff1a;http://blog.csdn.net/jadyer/article/details/7380259?utm_sourcetuicool&utm_mediumreferral 效果圖1&#xff1a;請求界面 效果圖2&#xff1a;地支付請求和易寶之間建立連接之后跳轉到相應的銀…

permission denied是什么鬼?

問題&#xff1a;在PC端編譯了一個arm芯片的測試程序&#xff0c;出現了permission denied 解決辦法&#xff1a; 1.給文件賦予可執行權限 chmod ax xxx這是一般第一反應會想到的答案 2. 有時候已經有可執行權限&#xff0c;還是提示上面的錯誤此時要注意你的交叉編譯器是否正…

CSS中div覆蓋另一個div

將一個div覆蓋在另一個div上有兩種手段&#xff1a;一是設置margin為負值&#xff0c;二是設置絕對定位。 可以根個人情況設置z-index的值 1->position 為absolute的情況 <html> <head> <style> #div1{position:absolute;width:300px;height:300px;backgr…

nand flash和nor flash的這幾點區別你知道嗎?

這篇文章講解nand flash和nor flash的特點和區別&#xff0c;不涉及存儲原理的講解 &#xff08;一&#xff09;Flash簡介 FLASH是一種存儲芯片&#xff0c;全名叫Flash EEPROM Memory&#xff0c;通地過程序可以修改數據&#xff0c;即平時所說的“閃存”。Flash又分為NAND f…

c++堆

c reference: http://www.cplusplus.com/reference/algorithm/make_heap/ heap并不屬于STL容器組件&#xff0c;它分為 max heap 和min heap&#xff0c;在缺省情況下&#xff0c;max-heap是優先隊列&#xff08;priority queue&#xff09;的底層實現機制。 而這個實現機制中的…