前端最基礎的就是 HTML+CSS+Javascript
。掌握了這三門技術就算入門,但也僅僅是入門,如今前端開發的定義已經遠遠不止這些。前端小課堂(HTML/CSS/JS
),本着提高技術水平,打牢基礎知識的中心思想,咱們開課啦(每週四)。html
前面咱們已經基本掌握常規的語法語義,以及基本的使用方法。接下來咱們講深刻進去了解其中內在的原理。
也瞭解 DOM、BOM,可是由於規範是一在變的,有沒有什麼類庫能夠方便操做這些呢?進入咱們今天的主題jQuery前端
這東西出來好久了,通常來講都用過。提供一個速查地址
jquery
jQuery 設計的宗旨是「write Less,Do More」,即倡導寫更少的代碼,作更多的事情。
jQuery 是一個跨瀏覽器(兼容全部常見瀏覽器,包括IE6)的工具庫。
提供了元素選取、元素操做、CSS操做、事件處理、動畫、AJAX等功能。正則表達式
jQuery.fn.extend(object)
對應 $('div').
的操做。segmentfault
jQuery.fn.extend({ check: function() { return this.each(function() { this.checked = true; }); }, uncheck: function() { return this.each(function() { this.checked = false; }); } }); $("input[type=checkbox]").check(); $("input[type=radio]").uncheck();
jQuery.extend(object)
對應 $.
的操做。瀏覽器
jQuery.extend({ min: function(a, b) { return a < b ? a : b; }, max: function(a, b) { return a > b ? a : b; } }); jQuery.min(2,3); // => 2 jQuery.max(4,5); // => 5
jQuery.extend([deep], target, object1, [objectN])
若是不指定target
,則給jQuery命名空間自己進行擴展。這有助於插件做者爲jQuery增長新方法。 若是第一個參數設置爲true,則jQuery返回一個深層次的副本,遞歸地複製找到的任何對象。不然的話,副本會與原對象共享結構。 未定義的屬性將不會被複制,然而從對象的原型繼承的屬性將會被複制。微信
#id
、 element
、 .class
、 *
、 selector1,selector2,selectorN
ancestor descendant
、 parent > child
、 prev + next
、prev ~ siblings
:first
、:not(selector)
、:even
、:odd
、:eq(index)
、:gt(index)
、:lang
1.9+、:last
、:lt(index)
、:header
、:animated
、:focus
、:root
1.9+、:target
1.9+:contains(text)
、:empty
、:has(selector)
、:parent
:hidden
、:visible
[attribute]
、[attribute=value]
、[attribute!=value]
、[attribute^=value]
、[attribute$=value]
、[attribute*=value]
、[attrSel1][attrSel2][attrSelN]
:first-child
、:first-of-type
1.9+、:last-child
、:last-of-type
1.9+、:nth-child
、:nth-last-child()
1.9+、:nth-last-of-type()
1.9+、:nth-of-type()
1.9+、:only-child
、:only-of-type
1.9+、:input
、:text
、:password
、:radio
、:checkbox
、:submit
、:image
、:reset
、:button
、:file
:enabled
、:disabled
、:checked
、:selected
$.escapeSelector(selector)
3.0+核心函數,我認爲這是很優秀的一個點。小小的$函數,包含了咱們想要的大多數功能。cookie
等價於$.ready(Function)
當DOM載入就緒執行一個函數回調。能夠避免當頁面DOM尚未加載就操做了DOM。(會報錯)
簡單地說,這個方法純粹是對向window.load
事件註冊事件的替代方法。不一樣的是能夠綁定屢次(addEventListener
也能夠綁定屢次)。ready
若是頁面加載完成以後,還會繼續調用(load不會)session
將原生DOM
轉換爲jQuery
封裝的DOM
。
也能夠傳入一個elementArray
,來批量轉換一組原生DOM
函數
傳入一個選擇器,而且能夠限制範圍。返回一組匹配的元素。
據提供的原始 HTML 標記字符串,動態建立由 jQuery 對象包裝的 DOM 元素。同時設置一系列的屬性、事件等。
也能夠用來處理XML
$.fn.attr()
、$.fn.prop()
、$.fn.data()
$.fn.attr()
設置或返回被選元素的屬性值。好比href
,src
,id
,class
對應attribute
$.fn.prop()
設置或返回被選元素的狀態值。能夠理解爲原始值、狀態。好比checked
、disabled
對應properties
$.fn.data()
早期是直接綁定在DOM對象上的。
目前若是瀏覽器支持HTML5,會在DOM元素上data-*
讀取和存儲。
data-*
也能夠DOM方法dataset
來讀取或修改。
$.fn.get()
、$.fn.eq
、[]
$.fn.get()
等價於[]
get
獲取到的是真是的DOM
eq
得到到的仍是jQuery包裹的DOM對象。相應的,還有其餘方法能夠獲取。
html()
、text()
、val()
html()
對應innerHTML
text()
對應innerText
val()
對應value