第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
  • jQuery children()?方法

    獲得匹配元素集合中每個(gè)元素的子元素,選擇器選擇性篩選。

    因?yàn)榫蚸Query可以是一個(gè)DOM的合集對(duì)象,所以children就需要遍歷每一個(gè)合集中的直接子元素了,并且最后需要構(gòu)建一個(gè)新的jQuery對(duì)象。

    jQuery find()?方法

    1、.find()方法返回被選元素的后代元素,一路向下直到最后一個(gè)后代。

    2、.find()方法允許我們能夠通過(guò)查找DOM樹中的這些元素的后代元素,匹配的元素將構(gòu)造一個(gè)新的jQuery對(duì)象。

    3、.find().children()方法是相似的,但后者只是再DOM樹中向下遍歷一個(gè)層級(jí)。

    4、.find()方法還可以接受一個(gè)選擇器表達(dá)式,該選擇器表達(dá)式可以是任何可傳給$()函數(shù)的選擇器表達(dá)式。如果緊隨兄弟匹配選擇器,它將被保留在新構(gòu)建的jQuery對(duì)象中;否則,它被排除在外。


    查看全部
    0 采集 收起 來(lái)源:遍歷后代

    2018-07-13

  • .next()?獲得匹配元素集合中每個(gè)元素緊鄰的同輩元素。.prev()?獲得匹配元素集合中每個(gè)元素緊鄰的前一個(gè)同輩元素,由選擇器篩選(可選)。.siblings()?獲得匹配元素集合中所有元素的同輩元素,由選擇器篩選(可選)。

    相鄰節(jié)點(diǎn)的處理是最簡(jiǎn)單的,在節(jié)點(diǎn)上調(diào)用nextSibling或者previousSibling,但是我們也要注意相同處理復(fù)用的問(wèn)題:

    Siblings的意思就是找到5個(gè)li中除去class="third-item"的其余4個(gè),那么我們可以換個(gè)思路,可以通過(guò)class="third-item"父級(jí)ul的第一個(gè)子元素開始遍歷去篩選,排除class="third-item"即可


    function sibling(cur, dir) {

    ? while ((cur = cur[dir]) && cur.nodeType !== 1) {}

    ? return cur;

    }


    function next(elem) {

    ? return sibling(elem, "nextSibling");

    }


    function prev(elem) {

    ? return sibling(elem, "previousSibling");

    }


    查看全部
    0 采集 收起 來(lái)源:遍歷同胞(下)

    2018-07-13

  • 通過(guò)jQuery能夠在DOM樹中遍歷元素的同胞元素。

    其中nextAll、prevAll、nextUntil、prevUntil其實(shí)與遍歷祖先的的查找處理是非常類似。

    .nextAll()?獲得匹配元素集合中每個(gè)元素之后的所有同輩元素,由選擇器進(jìn)行篩選(可選)。.nextUntil()?獲得每個(gè)元素之后所有的同輩元素,直到遇到匹配選擇器的元素為止。.prevAll()?獲得匹配元素集合中每個(gè)元素之前的所有同輩元素,由選擇器進(jìn)行篩選(可選)。.prevUntil()?獲得每個(gè)元素之前所有的同輩元素,直到遇到匹配選擇器的元素為止。

    ?alert(item.nextAll()[0].className)

    ? alert(item.prevAll()[0].className)

    ? alert(item.nextUntil('.end')[0].className)

    ? alert(item.prevUntil('.first')[0].className)


    查看全部
    0 采集 收起 來(lái)源:遍歷同胞(上)

    2018-07-13

  • 同胞就是擁有相同的父元素。

    通過(guò)jQuery能夠在DOM樹中遍歷元素的同胞元素。

    其中nextAll、prevAll、nextUntil、prevUntil其實(shí)與遍歷祖先的的查找處理是非常類似。

    .nextAll()?獲得匹配元素集合中每個(gè)元素之后的所有同輩元素,由選擇器進(jìn)行篩選(可選)。.nextUntil()?獲得每個(gè)元素之后所有的同輩元素,直到遇到匹配選擇器的元素為止。.prevAll()?獲得匹配元素集合中每個(gè)元素之前的所有同輩元素,由選擇器進(jìn)行篩選(可選)。.prevUntil()?獲得每個(gè)元素之前所有的同輩元素,直到遇到匹配選擇器的元素為止。


    查看全部
    0 采集 收起 來(lái)源:遍歷同胞(上)

    2018-07-13

  • 通過(guò) jQuery,能夠向上遍歷 DOM 樹,以查找元素的祖先。

    向上遍歷 DOM 樹,這些 jQuery 方法很有用,它們用于向上遍歷 DOM 樹:

    parent()
    parents()
    parentsUntil()

    .parent()方法允許我們能夠在DOM樹中搜索到這些元素的父級(jí)元素,從有序的向上匹配元素,并根據(jù)匹配的元素創(chuàng)建一個(gè)新的 jQuery 對(duì)象。

    .parents().parent()方法是相似的,但后者只是進(jìn)行了一個(gè)單級(jí)的DOM樹查找

    .parentsUntil()?方法會(huì)找遍所有這些元素的前輩元素,直到遇到了跟參數(shù)匹配的元素才會(huì)停止。返回的jQuery對(duì)象中包含了所有找到的前輩元素,除了與?.parentsUntil()?選擇器匹配的那個(gè)元素。


    查看全部
    0 采集 收起 來(lái)源:遍歷祖先

    2018-07-13

  • 遍歷的接口很多都是具有相似或者說(shuō)是一類的處理功能,那么這種接口的設(shè)計(jì)我們不能就事論事的一個(gè)一個(gè)去實(shí)現(xiàn),這樣代碼就會(huì)顯得非常累贅也不容易維護(hù),那么就這么幾大類Query分了好幾十API出來(lái),豐富的接口可以讓高層的設(shè)計(jì)更為簡(jiǎn)單。但是框架內(nèi)部的卻要簡(jiǎn)練。那么針對(duì)這種類似功能的接口,jQuery內(nèi)部就會(huì)做更多的抽象處理了。

    1.針對(duì)層級(jí)關(guān)系的處理,jQuery就抽出了一個(gè)dir的方法,用于根據(jù)傳遞的元素與詞素的位置關(guān)系,查找指定的元素。

    parent,parents,parentsUntil等方法如代碼所示:

    function?dir(elem,?dir,?until)?{?
    ???//參考右邊代碼??
    ???return?matched;
    }

    2.我們?cè)谏习氩康牡谝徽轮芯吞岬竭^(guò)迭代器,迭代器是一個(gè)框架的重要設(shè)計(jì)。

    我們經(jīng)常需要提供一種方法順序的用來(lái)處理聚合對(duì)象中各個(gè)元素,而又不暴露該對(duì)象的內(nèi)部,這也是設(shè)計(jì)模式中的迭代器模式。

    迭代器除了單純的遍歷,在jQuery內(nèi)部的運(yùn)用最多的就是接口的抽象合并,相同功能的代碼功能合并處理:

    jQuery.each({??
    ???parent:?function(elem)?{},?
    ???parents:?function(elem)?{},??
    ???nextAll:?function(elem)?{},??
    ???prevAll:?function(elem)?{},??
    ???................
    },?function(name,?fn)?{??
    ???api[name]?=?function(until,?selector){????
    ??//代碼右圖??
    };
    });


    查看全部
  • https://img1.sycdn.imooc.com//5b46c0e90001ae0203780191.jpg

    ? <div> 元素是 <ul> 的父元素,同時(shí)是其中所有內(nèi)容的祖先。

    ? <ul> 元素是 <li> 元素的父元素,同時(shí)是 <div> 的子元素

    ? 左邊的 <li> 元素是 <span> 的父元素,<ul> 的子元素,同時(shí)是 <div> 的后代。

    ? <span> 元素是 <li> 的子元素,同時(shí)是 <ul> 和 <div> 的后代。

    ? 兩個(gè) <li> 元素是同胞(擁有相同的父元素)。

    ? 右邊的 <li> 元素是 <b> 的父元素,<ul> 的子元素,同時(shí)是 <div> 的后代。

    ? <b> 元素是右邊的 <li> 的子元素,同時(shí)是 <ul> 和 <div> 的后代。

    提示:祖先是父、祖父、曾祖父等等。后代是子、孫、曾孫等等。同胞擁有相同的父。

    jQuery的遍歷處理不僅只是針對(duì)基本的層級(jí)關(guān)系,還擴(kuò)展了大量的篩選接口,包括了用于篩選、查找和串聯(lián)元素的方法。之后我們會(huì)介紹到各自的實(shí)現(xiàn)。

    ?


    查看全部
    0 采集 收起 來(lái)源:什么是遍歷?

    2018-07-12

  • Range? dom 接口
    createDocumentFragment? ; nodeType 11

    ? 插入document時(shí), 插入子節(jié)點(diǎn)

    查看全部
    0 采集 收起 來(lái)源:文檔碎片DocumentFragment

    2018-04-19

  • domManip 抽象

    節(jié)點(diǎn)操作:

    ? cloneNode,appendNode,hasChildNodes,insertBefore,removeChild

    查看全部
    0 采集 收起 來(lái)源:節(jié)點(diǎn)操作

    2018-04-19

  • next nextSibling

    prev prevSibling

    查看全部
    0 采集 收起 來(lái)源:遍歷同胞(上)

    2018-04-19

  • nodeType :1 element,2 attr,3 text ,9 document,11 fragment

    dir // move :from elem, path dir, stop until?


    查看全部
  • -? $('li').eq(2) //先序遍歷,而不是一層層遍歷

    -? $('ul.level-2').children() //只子

    -? find 查找所有子集


    查看全部
    0 采集 收起 來(lái)源:什么是遍歷?

    2018-04-19

  • d

    查看全部
  • 通過(guò)一個(gè) Tween 類構(gòu)造出來(lái)的緩動(dòng)對(duì)象,其實(shí)就是針對(duì)每一個(gè)屬性的封裝對(duì)象,這樣我們只需要設(shè)計(jì)一個(gè)定時(shí)器,在指定的時(shí)間內(nèi)調(diào)用 Tween 生成的這些對(duì)象就可以了,Tween 內(nèi)部控制著各自屬性的狀態(tài)改變。 其實(shí)動(dòng)畫的整個(gè)設(shè)計(jì)就是這么簡(jiǎn)單的,代碼的復(fù)雜是因?yàn)檫€兼容了各種不同情況的處理,比如實(shí)現(xiàn) deferred 機(jī)制,針對(duì)寬高變化的 overflow 處理,針對(duì) display 為 inline 情況下的處理,那么這些都是一些預(yù)處理的機(jī)制,在對(duì)應(yīng)的 defaultPrefilter 函數(shù)中就能找到,我們沒(méi)有必要是單獨(dú)實(shí)現(xiàn)了。 其實(shí)動(dòng)畫的設(shè)計(jì),我們可以學(xué)到一個(gè)很重要的一點(diǎn): 封裝變化,把每一個(gè)屬性變化都獨(dú)立封裝一個(gè)對(duì)象,讓其自己管理與控制。
    查看全部
  • deffered -- 那么這樣操作的一個(gè)好處就是,可以把邏輯處理都放到一塊,我們?cè)诖a的某一個(gè)環(huán)節(jié)針對(duì)特別的處理,需要臨時(shí)改變一些東西,但是在之后我們希望又恢復(fù)原樣,為了邏輯的清晰,我們可以引入 deferred.alway 方法,在某一個(gè)環(huán)節(jié)改了一個(gè)屬性,然后注冊(cè)到 alway 方法上一個(gè)完成的回調(diào)用來(lái)恢復(fù),這樣的邏輯塊是很清晰的。 在動(dòng)畫預(yù)初始化之后(為了支持動(dòng)畫,臨時(shí)改變?cè)氐囊恍傩耘c狀態(tài)),我們就需要給每一個(gè)屬性生成一個(gè)獨(dú)立的緩動(dòng)對(duì)象了 createTween,主要用于封裝這個(gè)動(dòng)畫的算法與執(zhí)行的一些流程操作控制。 屬性預(yù)處理 針對(duì) height/width 動(dòng)畫的時(shí)候,要先處理本身元素溢出 針對(duì) height/width 動(dòng)畫的時(shí)候,元素本身的 inline 狀態(tài)處理 我們知道元素本身在布局的時(shí)候可以用很多屬性對(duì)其設(shè)置,可是一旦進(jìn)行動(dòng)畫的話,某些屬性的設(shè)置可能會(huì)對(duì)動(dòng)畫的執(zhí)行產(chǎn)生副作用,所以針對(duì)這樣的屬性,jQuery 直接在內(nèi)部做了最優(yōu)的處理,如果我們進(jìn)行元素 height/width 變化的時(shí)候,比如 height:1,這樣的處理 jQuery 就需要針對(duì)元素做一些強(qiáng)制性的處理。 1 添加 overflow =“hidden” 2.如果設(shè)置了內(nèi)聯(lián)并且沒(méi)有設(shè)置浮動(dòng) display = "inline-block"; 因?yàn)閮?nèi)容溢出與內(nèi)聯(lián)元素在執(zhí)行動(dòng)畫的時(shí)候,與這個(gè) height/width 的邏輯是符合的,當(dāng)然針對(duì)這樣的修改 jQuery 非常巧妙了用到了 deferred.always 方法,我們?cè)趫?zhí)行動(dòng)畫的時(shí)候,由于動(dòng)畫的需要改了原始的屬性,但是動(dòng)畫在結(jié)束之后,我們還是需要還原成其狀態(tài)。 deferred 量身定做的 always 方法,不管成功與失敗都會(huì)執(zhí)行這個(gè)復(fù)原的邏輯。
    查看全部

舉報(bào)

0/150
提交
取消
課程須知
源碼的閱讀不是一蹴而就的,需要大家有一定的功底,比如jQuery的基礎(chǔ)運(yùn)用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基礎(chǔ)功底,甚至還需要理解常見的設(shè)計(jì)模式、數(shù)據(jù)結(jié)構(gòu)等等。當(dāng)然大家也不要被這些給嚇住了,理解,總是需要一種慢慢的學(xué)習(xí)過(guò)程。
老師告訴你能學(xué)到什么?
通過(guò)本課程的學(xué)習(xí),您可以由淺入深地剖析jQuery庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)。 其中我們圍繞的重心: 1、設(shè)計(jì)理念 2、結(jié)構(gòu)組織 3、接口設(shè)計(jì) 4、模式運(yùn)用 5、場(chǎng)景套用

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無(wú)需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!