jQuery設計思想

來源:互聯網
上載者:User

標籤:不同   load   對象   nbsp   set   狀態   構造   logs   方便   

前面的話

  在深入瞭解jQuery的各個細節之前,需要對jQuery的設計思想有一個大致的瞭解。在遇到問題時, 知道應該使用jQuery的哪一個功能,然後迅速從手冊中找到具體的用法。本文將詳細介紹jQuery的設計思想

 

選擇元素

  jQuery的基本設計思想和主要用法,就是"選擇某個網頁元素,然後對其進行某種操作"。這是它區別於其他javascript庫的根本特點

  使用jQuery的第一步,往往就是將一個選擇運算式,放進建構函式jQuery()(簡寫為$),然後得到被選中的元素

【類比CSS選擇元素】

$(document) //選擇整個文檔對象$(‘#myId‘) //選擇ID為myId的網頁元素$(‘div.myClass‘) // 選擇class為myClass的div元素$(‘input[name=first]‘) // 選擇name屬性等於first的input元素

【特有運算式選擇】

$(‘a:first‘) //選擇網頁中第一個a元素$(‘tr:odd‘) //選擇表格的奇數行$(‘#myForm :input‘) // 選擇表單中的input元素$(‘div:visible‘) //選擇可見的div元素$(‘div:gt(2)‘) // 選擇所有的div元素,除了前三個$(‘div:animated‘) // 選擇當前處於動畫狀態的div元素

【多種篩選方法】

$(‘div‘).has(‘p‘); // 選擇包含p元素的div元素$(‘div‘).not(‘.myClass‘); //選擇class不等於myClass的div元素$(‘div‘).filter(‘.myClass‘); //選擇class等於myClass的div元素$(‘div‘).first(); //選擇第1個div元素$(‘div‘).eq(5); //選擇第6個div元素

 

寫法

【方法函數化】

  在原生javascript中,賦值操作符用的比較多。而在jQuery中,多使用函數傳參的方式,也就是方法函數化

//原生window.onload = function(){};//jQuery$(function(){});//原生div.onclick = function(){};//jQuerydiv.click(function(){});//原生div.innerHTML = ‘123‘;//jQuerydiv.html(‘123‘);

【鏈式操作】

  選中網頁元素以後,可以對它進行一系列操作,並且所有操作可以串連在一起,以鏈條的形式寫出來

$(‘div‘).find(‘h3‘).eq(2).html(‘Hello‘);

  分解開來,就是下面這樣:

$(‘div‘) //找到div元素.find(‘h3‘) //選擇其中的h3元素.eq(2) //選擇第3個h3元素.html(‘Hello‘); //將它的內容改為Hello

  這是jQuery最令人稱道、最方便的特點。它的原理在於每一步的jQuery操作,返回的都是一個jQuery對象,所以不同操作可以連在一起

  jQuery還提供了.end()方法,使得結果集可以後退一步

$(‘div‘).find(‘h3‘).eq(2).html(‘Hello‘).end() //退回到選中所有的h3元素的那一步.eq(0) //選中第一個h3元素.html(‘World‘); //將它的內容改為World

【取賦值合體】

  操作網頁元素,最常見的需求是取得它們的值,或者對它們進行賦值。jQuery使用同一個函數來完成取值(getter)和賦值(setter),即"取值器"與"賦值器"合一。到底是取值還是賦值,由函數的參數決定

$(‘h1‘).html(); //html()沒有參數,表示取出h1的值$(‘h1‘).html(‘Hello‘); //html()有參數Hello,表示對h1進行賦值

  常見的取值和賦值函數如下

.html() 取出或設定html內容.text() 取出或設定text內容.attr() 取出或設定某個屬性的值.width() 取出或設定某個元素的寬度.height() 取出或設定某個元素的高度.val() 取出某個表單元素的值

  需要注意的是,如果結果集包含多個元素,那麼賦值的時候,將對其中所有的元素賦值;取值的時候,則是只取出第一個元素的值

  [注意].text()例外,它取出所有元素的text內容

jQuery設計思想

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.