jquery的核心函式之物件訪問($(this)[0])
jquery.proxy,
接受乙個函式,然後返回乙個新函式,並且這個新函式始終保持了特定的上下文(context)
語境。
delegate
是一種委託事件,但是可以通過選擇器縮小查詢範圍。
1. 基本選擇器:
層級選擇器:這個涉及到jquery
的優化問題,我們知道jquery
選擇器由右向左尋找的。
以上是先找尋class
的標籤,然後在class
標籤裡面找尋只有div
的標籤,會找兩次,應該是後面的高
$(document)
.ready
(function()
);
相比attr,prop是1.6.1才新出來的,兩者從中文意思理解,都是獲取或設定屬性的方法,(attributes和properties)。只是,window或document中使用的attr.()方法在jquery1.6之前不能正常執行,因為window和document中不能有attributes。prop應運而生了。
**那麼什麼時候使用attr?什麼時候使用prop?**
新增屬性名稱該屬性就會生效應使用prop
是有true
,false
兩個屬性使用prop
其他則使用attr
jquery是方便操作dom的,bootstrap是一套ui庫,bootstrap的一些元件還依賴jquery
簡單來說,jquery用來控制頁面邏輯與頁面操作。而bootstarp用來控制頁面的顯示效果。
jquery的css處理:
($(
"div").
css(
"color"
,"green"
))
jquery的核心函式之物件訪問:
($(
this)[0])
通過id,使用getelementbyid()
獲得標籤節點
通過標籤的名稱,使用getelementbyid()
獲取元素節點或標籤節點
注意:以上的查詢方法都會忽略文件的結構
通過使用乙個元素節點的parentnode
、firstchild
以及lastchild
屬性
節點名稱nodename
如果節點是標籤,nodename是標籤名稱如果節點是屬性,nodename是屬性名稱如果節點是文字節點,nodename是#text如果節點是文件,nodename是#document
節點值nodevalue
節點型別nodetype
基於class的選擇性的效能相對於id選擇器開銷很大,因為需要遍歷所有dom元素
頻繁操作的dom,先快取起來再操作,用jquery的鏈式呼叫更好。比如:
var str = $(
'a')
.attr
('href'
);
for
(var i =size;i
)
for
迴圈每一次迴圈都查詢了陣列arr
的length
屬性,在開始迴圈的時候設定乙個變數來儲存這個數字,可以讓迴圈跑的更快:
for
(var i=size;length=arr.length;i
)
jquery
是乙個js庫,
主要提供的功能是選擇器,屬性修改和事件繫結等等。
jquery ui
則是在jquery
的基礎上,利用jquery
的擴充套件性,設計的外掛程式。
提供了一些常用的介面元素,諸如對話方塊、拖動行為、改變大小行為等等
15 jquery中如何將陣列轉換為就送字串,然後再轉化
jquery中沒有提供這個功能,所以需要先編寫兩個jquery的擴充套件;
編寫:
$.fn.stringifyarray = function(array)
$.fn.parsearray = function(array)
//然後呼叫:
$(" "
).stringifyarray(array)
;
jquery原始碼封裝在乙個匿名函式的自執行環境中,有助於防止變數的全域性汙染,然後傳入window物件引數,可以使window物件作為全域性變數使用,好處是當jquery中訪問window物件的時候,就不用將作用域鏈退回到頂層作用域了,從而可以更快的訪問window物件。同樣,傳入undefined引數,可以縮短查詢undefined時的作用域鏈
(
function
(window,undefined)
)(window)
;
jquery將一些原型屬性和方法封裝在了jquery.prototype
中,為了縮短名稱,又賦值給了jquery.fn
,這是很形象的寫法。
有一些陣列或物件的方法經常能使用到,jquery將其儲存為區域性變數義提高訪問速度。
jquery
實現的鏈式呼叫可以節約**,所返回的都是同乙個物件,可以提高**效率
16道嵌入式 語言面試題
預處理器 preprocessor 1.用預處理指令 define 宣告乙個常數,用以表明1年中有多少秒 忽略閏年問題 define seconds per year 60 60 24 365 ul 我在這想看到幾件事情 1 define 語法的基本知識 例如 不能以分號結束,括號的使用,等等 2 ...
三道面試題
一 給定乙個n個整數元素的陣列,元素分別為a1,a2,a3.an,每個元素分別對應乙個權重w1 小於1的float w2,w3.wn,其和為1,找出其中乙個元素ak,使所有小於ak的元素的權重之和小於1 2,所有大於ak的元素的權重之和 1 2。思路 首先將該陣列按元素值的大小進行公升序排列,同樣的...
面試題 五道面試題五
判斷出棧順序的正確性 假設每個相同元素只出現一次 include include include include using namespace std class istruesack istruesack if str2 null public bool istrue const char pu...