波多野结衣简介_爱的色放3_欧美精品一区二_五月亚洲婷婷_美女被娇喘视频_亚洲午夜免费_好吊色视频988gao在线观看_在线一区_99久久精品免费视频_欧美色吊丝_亚洲色图小说_亚洲两性视频_男女做的视频_亚洲自拍图片_免费黄色一级片

資訊專(zhuān)欄INFORMATION COLUMN

看Zepto如何實(shí)現(xiàn)增刪改查DOM

lookSomeone / 2155人閱讀

摘要:先看下圖,我們以刪除元素,插入元素復(fù)制元素,包裹元素和替換元素幾個(gè)模塊分別探究如何一一將其實(shí)現(xiàn)。遍歷當(dāng)前集合中的元素,當(dāng)該元素的父節(jié)點(diǎn)存在的時(shí)候,使用刪除該元素。接下來(lái)我們來(lái)看如何將中創(chuàng)建好的節(jié)點(diǎn)插入到目標(biāo)位置。

前言

dom也就是文檔對(duì)象模型,是針對(duì)HTML和XML的一個(gè)api,描繪了一個(gè)層次化的節(jié)點(diǎn)樹(shù)。雖然瀏覽器原生給我們提供了許多操作dom的方法,使我們可以對(duì)dom進(jìn)行查找,復(fù)制,替換和刪除等操作。但是zepto在其基礎(chǔ)上再次封裝,給以我們更加便捷的操作方式。先看下圖,我們以刪除元素,插入元素,復(fù)制元素,包裹元素替換元素幾個(gè)模塊分別探究zepto如何一一將其實(shí)現(xiàn)。

原文鏈接

github項(xiàng)目地址

刪除元素 remove

當(dāng)父節(jié)點(diǎn)存在時(shí),從其父節(jié)點(diǎn)中刪除當(dāng)前集合中的元素。

remove: function () {
  return this.each(function () {
    if (this.parentNode != null)
      this.parentNode.removeChild(this)
  })
}

遍歷當(dāng)前集合中的元素,當(dāng)該元素的父節(jié)點(diǎn)存在的時(shí)候,使用removeChild刪除該元素。

detach

功能和remove一樣,都是刪除元素。

$.fn.detach = $.fn.remove

可以看到就是在$的原型上添加了一個(gè)指向remove函數(shù)的方法detach

empty

清空對(duì)象集合中每個(gè)元素的DOM內(nèi)容

empty: function () {
  return this.each(function () { this.innerHTML = "" })
},

遍歷當(dāng)前集合中的元素,然后將元素的innerHTML屬性設(shè)置為空。也就達(dá)到了清除DOM內(nèi)容的目的。

插入元素

插入元素的相關(guān)api比較多,我們先來(lái)重溫部分api的使用用法和比較一下他們之間的區(qū)別。

append, prepend, after, before
  • 1
let $box = $(".box")
let insertDom = "
  • i am child
  • " // append appendTo // $box.append(insertDom) // $(insertDom).appendTo($box) /*
    • 1
    • i am child
    */ // prepend prependTo // $box.prepend(insertDom) // $(insertDom).prependTo($box) /*
    • i am child
    • 1
    */ // before insertBefore // $box.before(insertDom) // $(insertDom).insertBefore($box) /*
  • i am child
    • 1
    */ // after insertAfter // $box.after(insertDom) // $(insertDom).insertAfter($box) /*
    • 1
  • i am child
  • */

    以上是append,appendTo,prepend,prependTo,after,insertAfter,before,insertBefore八個(gè)方法的基本用法,以及用過(guò)之后的dom結(jié)構(gòu)。我們總結(jié)一下他們的區(qū)別。

    首先每個(gè)方法的入?yún)⒍伎梢詾閔tml字符串,dom節(jié)點(diǎn),或者節(jié)點(diǎn)組成的數(shù)組。參考自zeptojs_api

    append,appendTo,prepend,prependTo都是在元素內(nèi)部插入內(nèi)容,而after,insertAfter,before,insertBefore則是在元素外部插入內(nèi)容。

    append,appendTo是在元素的末尾插入內(nèi)容,prepend,prependTo是在元素的初始位置插入,after,insertAfter是在元素的后面插入內(nèi)容,before,insertBefore則是在元素的前面插入內(nèi)容

    接下來(lái)我們開(kāi)始學(xué)習(xí)和閱讀實(shí)現(xiàn)這8大方法的核心源碼部分

    adjacencyOperators = ["after", "prepend", "before", "append"]
    
    adjacencyOperators.forEach(function(operator, operatorIndex) {
      var inside = operatorIndex % 2
    
      $.fn[operator] = function() {
        // arguments can be nodes, arrays of nodes, Zepto objects and HTML strings
        var argType, nodes = $.map(arguments, function(arg) {
          var arr = []
          argType = type(arg)
          if (argType == "array") {
            arg.forEach(function(el) {
              if (el.nodeType !== undefined) return arr.push(el)
              else if ($.zepto.isZ(el)) return arr = arr.concat(el.get())
              arr = arr.concat(zepto.fragment(el))
            })
            return arr
          }
          return argType == "object" || arg == null ?
            arg : zepto.fragment(arg)
        }),
            parent, copyByClone = this.length > 1
        if (nodes.length < 1) return this
    
        return this.each(function(_, target) {
          parent = inside ? target : target.parentNode
    
          // convert all methods to a "before" operation
          target = operatorIndex == 0 ? target.nextSibling :
          operatorIndex == 1 ? target.firstChild :
          operatorIndex == 2 ? target :
          null
    
          var parentInDocument = $.contains(document.documentElement, parent)
    
          nodes.forEach(function(node) {
            if (copyByClone) node = node.cloneNode(true)
            else if (!parent) return $(node).remove()
    
            parent.insertBefore(node, target)
            if (parentInDocument) traverseNode(node, function(el) {
              if (el.nodeName != null && el.nodeName.toUpperCase() === "SCRIPT" &&
                  (!el.type || el.type === "text/javascript") && !el.src) {
                var target = el.ownerDocument ? el.ownerDocument.defaultView : window
                target["eval"].call(target, el.innerHTML)
              }
            })
              })
        })
      }
    

    遍歷adjacencyOperators數(shù)組給$原型添加對(duì)應(yīng)的方法

    adjacencyOperators = ["after", "prepend", "before", "append"]
    
    adjacencyOperators.forEach(function(operator, operatorIndex) {
      // xxx
      $.fn[operator] = function() {
        // xxx
      }
      // xxx
    })
    

    可以看到通過(guò)循環(huán)遍歷adjacencyOperators從而給$的原型添加對(duì)應(yīng)的方法。

    轉(zhuǎn)換node節(jié)點(diǎn)

    var argType, nodes = $.map(arguments, function(arg) {
      var arr = []
      argType = type(arg)
      if (argType == "array") {
        arg.forEach(function(el) {
          if (el.nodeType !== undefined) return arr.push(el)
          else if ($.zepto.isZ(el)) return arr = arr.concat(el.get())
          arr = arr.concat(zepto.fragment(el))
        })
        return arr
      }
      return argType == "object" || arg == null ?
        arg : zepto.fragment(arg)
    })
    

    例子

    // 1 html字符串
    $box.append("hello world")
    // 2 dom節(jié)點(diǎn)
    $box.append(document.createElement("span"))
    // 3 多個(gè)參數(shù)
    $box.append("1", "2")
    // 4 數(shù)組
    $box.append(["hello world", document.createElement("span")]) 
    

    因?yàn)閭魅氲膬?nèi)容可以為html字符串,dom節(jié)點(diǎn),或者節(jié)點(diǎn)組成的數(shù)組。這里對(duì)可能的情況分類(lèi)型做了處理。通過(guò)內(nèi)部的type函數(shù)判斷每個(gè)參數(shù)的數(shù)據(jù)類(lèi)型并保存在argType中。

    當(dāng)參數(shù)類(lèi)型為數(shù)組(類(lèi)似上面例子中的4)的時(shí)候,再對(duì)該參數(shù)進(jìn)行遍歷,如果該參數(shù)中的元素存在nodeType屬性則將該元素推進(jìn)數(shù)組arr,
    如果該參數(shù)中的元素是一個(gè)Zepto對(duì)象,則調(diào)用get方法,將arr與返回的原生元素?cái)?shù)組進(jìn)行合并。

    當(dāng)參數(shù)類(lèi)型為object或者null的時(shí)候直接返回,否則就是處理字符串形式了,通過(guò)調(diào)用zepto.fragment(這個(gè)函數(shù)在后面的文章中會(huì)詳細(xì)講解,現(xiàn)在就其理解為將html字符串處理成dom節(jié)點(diǎn)數(shù)組就可以了)處理并將結(jié)果返回。

    到現(xiàn)在為止,我們已經(jīng)明白了怎么將傳入的content轉(zhuǎn)化為對(duì)應(yīng)的dom節(jié)點(diǎn)。

    接下來(lái)我們來(lái)看如何將nodes中創(chuàng)建好的dom節(jié)點(diǎn)插入到目標(biāo)位置。

    parent, copyByClone = this.length > 1
    
    if (nodes.length < 1) return this
    

    先留意一下parent,以及copyByClone這兩個(gè)變量,挺重要的,具體作用下面會(huì)詳細(xì)說(shuō)明。并且如果需要插入的元素?cái)?shù)組的長(zhǎng)度小于1,那么也就沒(méi)有必要繼續(xù)往下走了,直接return this進(jìn)行鏈?zhǔn)讲僮鳌?/p>

    return this.each(function(_, target) {
      // xxx
      nodes.forEach(function(node) {
        // xxx 
        // 注意這行,所有的插入操作都通過(guò)insertBefore函數(shù)完成
        parent.insertBefore(node, target)
        // xxx
      })
    
    })
    

    整個(gè)后續(xù)代碼就是兩層嵌套循環(huán),第一層遍歷當(dāng)前選中的元素集合,第二層就是需要插入的nodes節(jié)點(diǎn)集合。通過(guò)兩個(gè)循環(huán)來(lái)最終完成元素的插入操作,并且很重要的一點(diǎn)是,不管是append還是after等方法都是通過(guò)insertBefore來(lái)模擬完成的。

    確定parent節(jié)點(diǎn)以及target目標(biāo)節(jié)點(diǎn)

    通過(guò)上面的分析我們知道通過(guò)insertBefore(在當(dāng)前節(jié)點(diǎn)的某個(gè)子節(jié)點(diǎn)之前再插入一個(gè)子節(jié)點(diǎn))來(lái)完成節(jié)點(diǎn)的插入,很重要的幾個(gè)因素就是

    parentNode.insertBefore(newNode, referenceNode)

    父節(jié)點(diǎn)(parentNode)

    需要插入的新節(jié)點(diǎn)(newNode)

    參考節(jié)點(diǎn)referenceNode

    所以確定以上1和3就顯得極其重要了。怎么確定呢?

    return this.each(function(_, target) {
      parent = inside ? target : target.parentNode
    
      // convert all methods to a "before" operation
      target = operatorIndex == 0 ? target.nextSibling :
      operatorIndex == 1 ? target.firstChild :
      operatorIndex == 2 ? target :
      null
      // xxx
    })
    

    inside是個(gè)啥啊!!!,讓我們回到頂部看這段

    adjacencyOperators = ["after", "prepend", "before", "append"]
    adjacencyOperators.forEach(function (operator, operatorIndex) {
      var inside = operatorIndex % 2
      // xxx
    })
    

    所以說(shuō)當(dāng)要往$原型上添加的方法是prependappend的時(shí)候inside為1也就是真,當(dāng)為afterbefore的時(shí)候?yàn)?也就是假。

    因?yàn)?b>prepend和append都是往當(dāng)前選中的元素內(nèi)部添加新節(jié)點(diǎn),所以parent當(dāng)然就是target本身了,但是afterbefore確是要往選中的元素外部添加新節(jié)點(diǎn),自然parent就變成了當(dāng)前選中元素的父節(jié)點(diǎn)。到這里上面的三要素1,已經(jīng)明確了,還有3(target)如何確定呢?

    target = operatorIndex == 0 ? target.nextSibling :
      operatorIndex == 1 ? target.firstChild :
      operatorIndex == 2 ? target :
      null
    

    如果operatorIndex為0,即after方法,node節(jié)點(diǎn)應(yīng)該是插入到目標(biāo)元素target的后面,也就是target的下一個(gè)兄弟節(jié)點(diǎn)的前面

    如果operatorIndex為1,即prepend方法,node應(yīng)該插入到目標(biāo)元素target的第一個(gè)子元素的前面

    如果operatorIndex為2,即before方法,node節(jié)點(diǎn)應(yīng)該插入到target節(jié)點(diǎn)的前面

    否則operatorIndex為4了,即append方法,node節(jié)點(diǎn)應(yīng)該插入到target最后一個(gè)子節(jié)點(diǎn)的末尾,insertBefore傳入null,正好與其功能相對(duì)應(yīng)

    好啦三要素3頁(yè)已經(jīng)明確了,接下來(lái)我們把重要放在第二個(gè)循環(huán)。

    將新節(jié)點(diǎn)插入到指定位置

    nodes.forEach(function(node) {
      if (copyByClone) node = node.cloneNode(true)
      else if (!parent) return $(node).remove()
    
      parent.insertBefore(node, target)
      // 處理插入script情況
    })
    

    在將節(jié)點(diǎn)插入到指定位置的前有一個(gè)判斷,如果copyByClone為真,就將要插入的新節(jié)點(diǎn)復(fù)制一份。為什么要這么做呢?我們來(lái)看個(gè)例子。

    • 1
    • 2
    • 3
    let $list = document.querySelector(".list")
      let $listLi = document.querySelectorAll(".list li")
      let createEle = (tagName, text) => {
        let ele = document.createElement(tagName)
        ele.innerHTML = text
        return ele
      }
      let $span1 = createEle("span", "span1")
      let $span2 = createEle("span", "span2")
    
      Array.from($listLi).forEach((target) => {
        [$span1, $span2].forEach((node) => {
          // node = node.cloneNode(true)
          $list.insertBefore(node, target)
        })
      })
    

    先將cloneNode那部分給注銷(xiāo)了,我們期望往三個(gè)li的前面都插入兩個(gè)span,但是結(jié)果會(huì)怎么樣呢?只有最后一個(gè)節(jié)點(diǎn)前面可以成功地插入兩個(gè)span節(jié)點(diǎn)。這樣就不是我們先要的結(jié)果了,根據(jù)insertBefore mdn解釋?zhuān)?strong>如果newElement已經(jīng)在DOM樹(shù)中,newElement首先會(huì)從DOM樹(shù)中移除。,所以當(dāng)我們需要往多個(gè)li中插入同樣類(lèi)似的兩個(gè)節(jié)點(diǎn)的時(shí)候,才需要將新節(jié)點(diǎn)克隆一份再插入。

    我們接著回到源碼。

    nodes.forEach(function(node) {
      if (copyByClone) node = node.cloneNode(true)
      else if (!parent) return $(node).remove()
    
      parent.insertBefore(node, target)
      // 處理插入script情況
    })
    

    如果需要(當(dāng)前選中元素的個(gè)數(shù)大于1)克隆節(jié)點(diǎn)的時(shí)候,先將新節(jié)點(diǎn)克隆一份,如果沒(méi)有找到對(duì)應(yīng)的parent節(jié)點(diǎn),就講要插入的新節(jié)點(diǎn)刪除,最后通過(guò)insertBefore方法插入新節(jié)點(diǎn)。

    到了這里我們似乎已經(jīng)完成了從

    創(chuàng)建新節(jié)點(diǎn) => 將新節(jié)點(diǎn)插入到指定位置的操作了。任務(wù)好像已經(jīng)完成了,但是革命尚未成功,同志仍需努力啊。接下來(lái)看最后一點(diǎn)代碼,主要是處理,當(dāng)插入的節(jié)點(diǎn)是script
    標(biāo)簽的時(shí)候,需要手動(dòng)去執(zhí)行其包含的js代碼。

    
    var parentInDocument = $.contains(document.documentElement, parent)
    
    if (parentInDocument) traverseNode(node, function(el) {
      if (el.nodeName != null && el.nodeName.toUpperCase() === "SCRIPT" &&
          (!el.type || el.type === "text/javascript") && !el.src) {
        var target = el.ownerDocument ? el.ownerDocument.defaultView : window
        target["eval"].call(target, el.innerHTML)
      }
    })
    

    先提前看一下traverseNode這個(gè)函數(shù)的代碼

    function traverseNode(node, fun) {
      fun(node)
      for (var i = 0, len = node.childNodes.length; i < len; i++)
        traverseNode(node.childNodes[i], fun)
    }
    

    這個(gè)函數(shù)的主要作用就是將傳入的node節(jié)點(diǎn)作為參數(shù)去調(diào)用傳入的fun函數(shù)。并且遞歸的將node節(jié)點(diǎn)的子節(jié)點(diǎn),交給fun去處理。

    接下來(lái)繼續(xù)看。

    首先通過(guò)$.contains方法判斷parent是否在document文檔中,接著需要滿足一下幾個(gè)條件才去執(zhí)行后續(xù)操作。

    存在nodeName屬性

    nodeName是script標(biāo)簽

    type屬性為空或者type屬性為text/javascript

    src屬性為空(即不指定外部腳本)

    確定window對(duì)象

    var target = el.ownerDocument ? el.ownerDocument.defaultView : window
    

    新節(jié)點(diǎn)存在ownerDocument mdn則window對(duì)象為defaultView mdn,否則使用window對(duì)象本身。

    這里主要會(huì)考慮node節(jié)點(diǎn)是iframe種的元素情況,才需要做三目處理。

    最后便是調(diào)用target["eval"].call(target, el.innerHTML)去執(zhí)行script中的代碼了。

    到這里我們終于知道了"after", "prepend", "before", "append"實(shí)現(xiàn)全過(guò)程(偷樂(lè)一下?,不容易啊)。

    appendTo, prependTo, insertBefore, insertAfter

    緊接著我們繼續(xù)往前走,前面說(shuō)了插入操作有很多個(gè)方法,其中
    insertAfter,insertBefore,prependTo,appendTo的實(shí)現(xiàn)基于上述幾個(gè)方法。

    // append   => appendTo
    // prepend  => prependTo
    // before   => insertBefore
    // after    => insertAfter
    
    $.fn[inside ? operator + "To" : "insert" + (operatorIndex ? "Before" : "After")] = function (html) {
      $(html)[operator](this)
      return this
    }
    

    如果是append或者prepend則往$原型上添加appendToprependTo方法,如果是before或者after的時(shí)候,便往$的原型上添加insertBeforeinsertAfter方法。因?yàn)槠鋬蓛蓪?duì)應(yīng)的方法本質(zhì)上是同樣的功能,只是在使用上有點(diǎn)相反的意思,所以簡(jiǎn)單的反向調(diào)用一下就可以了。

    html

    獲取或設(shè)置對(duì)象集合中元素的HTML內(nèi)容。當(dāng)沒(méi)有給定content參數(shù)時(shí),返回對(duì)象集合中第一個(gè)元素的innerHtml。當(dāng)給定content參數(shù)時(shí),用其替換對(duì)象集合中每個(gè)元素的內(nèi)容。content可以是append中描述的所有類(lèi)型 zeptojs_api

    例子

    1. html()   ? string
    
    2. html(content)   ? self
    
    3. html(function(index, oldHtml){ ... })   ? self
    

    源碼實(shí)現(xiàn)

    html: function (html) {
      return 0 in arguments ?
        this.each(function (idx) {
          var originHtml = this.innerHTML
          $(this).empty().append(funcArg(this, html, idx, originHtml))
        }) :
        (0 in this ? this[0].innerHTML : null)
    }
    

    當(dāng)沒(méi)有傳html參數(shù)的時(shí)候,先判斷當(dāng)前選中的元素是否存在,存在則讀取第一個(gè)元素的innerHTML并返回,否則直接返回null

    (0 in this ? this[0].innerHTML : null)
    

    當(dāng)傳了html參數(shù)的時(shí)候。對(duì)當(dāng)前選中的元素集合進(jìn)行遍歷設(shè)置,先保存當(dāng)前元素的innerHTML到originHtml變量中,再將當(dāng)前元素的innerHTML置空,并將funcArg函數(shù)執(zhí)行之后返回的html插入到當(dāng)前元素中。

    function funcArg(context, arg, idx, payload) {
      return isFunction(arg) ? arg.call(context, idx, payload) : arg
    }
    

    可以看到funcArg會(huì)對(duì)傳入arg進(jìn)行類(lèi)型判斷,如果是函數(shù),就把對(duì)應(yīng)的參數(shù)傳入函數(shù)再將函數(shù)的執(zhí)行結(jié)果返回,不是函數(shù)就直接返回arg。

    text

    獲取或者設(shè)置所有對(duì)象集合中元素的文本內(nèi)容。當(dāng)沒(méi)有給定content參數(shù)時(shí),返回當(dāng)前對(duì)象集合中第一個(gè)元素的文本內(nèi)容(包含子節(jié)點(diǎn)中的文本內(nèi)容)。當(dāng)給定content參數(shù)時(shí),使用它替換對(duì)象集合中所有元素的文本內(nèi)容。它有待點(diǎn)似 html,與它不同的是它不能用來(lái)獲取或設(shè)置 HTML。zeptojs_api

    text: function (text) {
      return 0 in arguments ?
        this.each(function (idx) {
          var newText = funcArg(this, text, idx, this.textContent)
          this.textContent = newText == null ? "" : "" + newText
        }) :
        (0 in this ? this.pluck("textContent").join("") : null)
    }
    

    text實(shí)現(xiàn)方法與html比較類(lèi)似有些不同的是沒(méi)有傳參數(shù)的時(shí)候,html是獲取第一個(gè)元素的innerHTMLtext則是將當(dāng)前所有元素的textContent拼接起來(lái)并返回.

    復(fù)制元素 clone

    通過(guò)深度克隆來(lái)復(fù)制集合中的所有元素。zeptojs_api

    clone: function () {
      return this.map(function () { return this.cloneNode(true) })
    }
    

    對(duì)當(dāng)前選中的元素集合進(jìn)行遍歷操作,底層還是用的瀏覽器cloneNode,并傳參為true表示需要進(jìn)行深度克?。ㄆ鋵?shí)感覺(jué)這里是不是將true設(shè)置為可選參數(shù)比較好呢,讓使用者決定是深度克隆與否不是更合理?)

    需要注意的地方是cloneNode方法不會(huì)復(fù)制添加到DOM節(jié)點(diǎn)中的Javascript屬性,例如事件處理程序等,這個(gè)方法只復(fù)制特性,子節(jié)點(diǎn),其他一切都不會(huì)復(fù)制,IE在此存在一個(gè)bug,即他會(huì)賦值事件處理程序,所以我們建議在賦值之間最好先移除事件處理程序(摘自《JavaScript高級(jí)程序設(shè)計(jì)第三版》10.1.1 Node類(lèi)型小字部分)

    替換元素 replaceWidth

    用給定的內(nèi)容替換所有匹配的元素。(包含元素本身) zeptojs_api

    replaceWith: function(newContent) {
      return this.before(newContent).remove()
    }
    

    源碼實(shí)現(xiàn)其實(shí)很簡(jiǎn)單分兩步,第一步調(diào)用前面我們講的before方法將制定newContent插入到元素的前面,第二部步將當(dāng)前選中的元素刪除。自然也就達(dá)到了替換的目的。

    包裹元素 wrapAll

    在所有匹配元素外面包一個(gè)多帶帶的結(jié)構(gòu)。結(jié)構(gòu)可以是單個(gè)元素或 幾個(gè)嵌套的元素zeptojs_api/#wrapAll

    wrapAll: function (structure) {
      // 如果選中的元素存在
      if (this[0]) {
        // 則將制定structure結(jié)構(gòu)通過(guò)before方法,插入到選中的第一個(gè)元素的前面
        $(this[0]).before(structure = $(structure))
        var children
        // drill down to the inmost element
        // 獲取structure的最深層次的第一個(gè)子元素
        while ((children = structure.children()).length) structure = children.first()
        // 將當(dāng)前的元素集合通過(guò)append方法添加到structure末尾
        $(structure).append(this)
      }
      // 反則直接返回this進(jìn)行后續(xù)的鏈?zhǔn)讲僮?  return this
    }
    

    源碼實(shí)現(xiàn)直接看注釋就可以了,這里需要注意一下children函數(shù)是獲取對(duì)象集合中所有的直接子節(jié)點(diǎn)。而first函數(shù)則是獲取當(dāng)前集合的第一個(gè)元素。

    另外我們看一下下面兩個(gè)例子。

    • 1
    • 2
    $(".box").wrapAll(".wrap")
    

    執(zhí)行上述代碼之后dom結(jié)構(gòu)會(huì)變成

    • 1
    • 2
    • 1
    • 2
    • 1
    • 2

    可以看到原來(lái)ul結(jié)構(gòu)還是存在,仿佛是復(fù)制了一份ul及其子節(jié)點(diǎn)到wrap中被包裹起來(lái)。

    接下來(lái)再看一個(gè)例子,唯一的區(qū)別就在wrap結(jié)構(gòu)中嵌套了基層。

    • 1
    • 2

    但是最后執(zhí)行$(".box").wrapAll(".wrap")得到的dom結(jié)果是。

    • 1
    • 2

    嘿嘿可以看到,ul原來(lái)的結(jié)構(gòu)不見(jiàn)了,被移動(dòng)到了第一個(gè)wrap的第一個(gè)子節(jié)點(diǎn)here中。具體原因是什么呢?大家可以重新回去看一下append的核心實(shí)現(xiàn)。

    wrap

    在每個(gè)匹配的元素外層包上一個(gè)html元素。structure參數(shù)可以是一個(gè)多帶帶的元素或者一些嵌套的元素。也可以是一個(gè)html字符串片段或者dom節(jié)點(diǎn)。還可以是一個(gè)生成用來(lái)包元素的回調(diào)函數(shù),這個(gè)函數(shù)返回前兩種類(lèi)型的包裹片段。zeptojs_api/#wrapAll

    wrap: function (structure) {
      var func = isFunction(structure)
      // 當(dāng)前選中的元素不為空,并且structure不是一個(gè)函數(shù)
      if (this[0] && !func)
        // 就將structure轉(zhuǎn)化后的第一個(gè)元素賦值給dom元素
        var dom = $(structure).get(0),
          // 如果dom元素的parentNode存在或者當(dāng)前選中的元素個(gè)數(shù)大于1那么clone為true
          clone = dom.parentNode || this.length > 1
      // 對(duì)當(dāng)前選中元素進(jìn)行遍歷并且調(diào)用wrapAll方法
      return this.each(function (index) {
        $(this).wrapAll(
          // 如果structure為函數(shù),則將當(dāng)前的元素和對(duì)應(yīng)的索引傳入函數(shù)
          func ? structure.call(this, index) :
            // 如果clone為true,則使用拷貝的副本
            clone ? dom.cloneNode(true) : dom
        )
      })
    }
    
    wrapInner

    將每個(gè)元素中的內(nèi)容包裹在一個(gè)多帶帶的結(jié)構(gòu)中 zeptojs_api/#wrapInner

    wrapInner: function (structure) {
      // 判斷structure是否為函數(shù)
      var func = isFunction(structure)
      // 對(duì)當(dāng)前元素集合進(jìn)行遍歷處理
      return this.each(function (index) {
        // contents => 獲取當(dāng)前元素的所有子節(jié)點(diǎn)(包括元素節(jié)點(diǎn)和文本節(jié)點(diǎn))
        var self = $(this), contents = self.contents(),
          // structure為函數(shù)則將其執(zhí)行結(jié)果賦值為dom,否則直接將其賦值
          dom = func ? structure.call(this, index) : structure
          // 當(dāng)前元素的子節(jié)點(diǎn)不為空,則調(diào)用wrapAll,否則直接將dom插入self當(dāng)前元素即可
        contents.length ? contents.wrapAll(dom) : self.append(dom)
      })
    }
    

    需要注意的是這個(gè)函數(shù)和前面的wrapAll和wrap有點(diǎn)不一樣,這里強(qiáng)調(diào)的是將當(dāng)前元素中的內(nèi)容(包括元素節(jié)點(diǎn)和文本節(jié)點(diǎn))進(jìn)行包裹。

    unwrap

    移除集合中每個(gè)元素的直接父節(jié)點(diǎn),并把他們的子元素保留在原來(lái)的位置

    unwrap: function () {
      // 通過(guò)parent()獲取當(dāng)前元素集合的所有直接父節(jié)點(diǎn)
      // 將獲取到的父節(jié)點(diǎn)集合進(jìn)行遍歷
      this.parent().each(function () {
        // 將該父節(jié)點(diǎn)替換為該父節(jié)點(diǎn)的所有子節(jié)點(diǎn)
        $(this).replaceWith($(this).children())
      })
      return this
    },
    
    
    結(jié)尾

    呼呼呼,終于寫(xiě)完了,快累死了。歡迎大家指正文中的問(wèn)題。

    參考

    讀Zepto源碼之操作DOM

    Zepto源碼分析-zepto模塊

    ownerDocument

    insertBefore

    innerHTML

    《JavaScript高級(jí)程序設(shè)計(jì)第三版》

    文章記錄

    form模塊

    zepto源碼分析之form模塊(2017-10-01)

    zepto模塊

    這些Zepto中實(shí)用的方法集(2017-08-26)

    Zepto核心模塊之工具方法拾遺 (2017-08-30)

    看zepto如何實(shí)現(xiàn)增刪改查DOM (2017-10-2)

    event模塊

    mouseenter與mouseover為何這般糾纏不清?(2017-06-05)

    向zepto.js學(xué)習(xí)如何手動(dòng)觸發(fā)DOM事件(2017-06-07)

    誰(shuí)說(shuō)你只是"會(huì)用"jQuery?(2017-06-08)

    ajax模塊

    原來(lái)你是這樣的jsonp(原理與具體實(shí)現(xiàn)細(xì)節(jié))(2017-06-11)

    文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請(qǐng)注明本文地址:http://www.hztianpu.com/yun/51348.html

    相關(guān)文章

    • Zepto如何實(shí)現(xiàn)刪改DOM

      摘要:先看下圖,我們以刪除元素,插入元素復(fù)制元素,包裹元素和替換元素幾個(gè)模塊分別探究如何一一將其實(shí)現(xiàn)。遍歷當(dāng)前集合中的元素,當(dāng)該元素的父節(jié)點(diǎn)存在的時(shí)候,使用刪除該元素。接下來(lái)我們來(lái)看如何將中創(chuàng)建好的節(jié)點(diǎn)插入到目標(biāo)位置。 前言 dom也就是文檔對(duì)象模型,是針對(duì)HTML和XML的一個(gè)api,描繪了一個(gè)層次化的節(jié)點(diǎn)樹(shù)。雖然瀏覽器原生給我們提供了許多操作dom的方法,使我們可以對(duì)dom進(jìn)行查找,復(fù)制...

      Clect 評(píng)論0 收藏0
    • Zepto如何實(shí)現(xiàn)刪改DOM

      摘要:先看下圖,我們以刪除元素,插入元素復(fù)制元素,包裹元素和替換元素幾個(gè)模塊分別探究如何一一將其實(shí)現(xiàn)。遍歷當(dāng)前集合中的元素,當(dāng)該元素的父節(jié)點(diǎn)存在的時(shí)候,使用刪除該元素。接下來(lái)我們來(lái)看如何將中創(chuàng)建好的節(jié)點(diǎn)插入到目標(biāo)位置。 前言 dom也就是文檔對(duì)象模型,是針對(duì)HTML和XML的一個(gè)api,描繪了一個(gè)層次化的節(jié)點(diǎn)樹(shù)。雖然瀏覽器原生給我們提供了許多操作dom的方法,使我們可以對(duì)dom進(jìn)行查找,復(fù)制...

      VioletJack 評(píng)論0 收藏0
    • Zepto中數(shù)據(jù)緩存原理與實(shí)現(xiàn)

      摘要:有一個(gè)模塊,專(zhuān)門(mén)用來(lái)做數(shù)據(jù)緩存,允許我們存放任何與相關(guān)的數(shù)據(jù)。在匹配元素上存儲(chǔ)任意相關(guān)數(shù)據(jù)或返回匹配的元素集合中的第一個(gè)元素的給定名稱(chēng)的數(shù)據(jù)存儲(chǔ)的值。確定元素是否有與之相關(guān)的數(shù)據(jù)。 前言 以前我們使用Zepto進(jìn)行開(kāi)發(fā)的時(shí)候,會(huì)把一些自定義的數(shù)據(jù)存到dom節(jié)點(diǎn)上,好處是非常直觀和便捷,但是也帶來(lái)了例如直接將數(shù)據(jù)暴露出來(lái)會(huì)出現(xiàn)安全問(wèn)題,數(shù)據(jù)以html自定義屬性標(biāo)簽存在,對(duì)于瀏覽器本身來(lái)說(shuō)...

      macg0406 評(píng)論0 收藏0
    • Zepto學(xué)習(xí)關(guān)于"偏移"的那些事

      摘要:獲得當(dāng)前元素相對(duì)于的位置。返回一個(gè)對(duì)象含有和當(dāng)給定一個(gè)含有和屬性對(duì)象時(shí),使用這些值來(lái)對(duì)集合中每一個(gè)元素進(jìn)行相對(duì)于的定位。獲取對(duì)象集合中第一個(gè)元素相對(duì)于其的位置。結(jié)尾以上就是中與偏移相關(guān)的幾個(gè)的解析,歡迎指出其中的問(wèn)題和有錯(cuò)誤的地方。 前言 這篇文章主要想說(shuō)一下Zepto中與偏移相關(guān)的一些事,很久很久以前,我們經(jīng)常會(huì)使用offset、position、scrollTop、scrollLe...

      hzx 評(píng)論0 收藏0

    發(fā)表評(píng)論

    0條評(píng)論

    閱讀需要支付1元查看
    成人欧美日韩 | 青青草视频免费 | 蜜臀尤物一区二区三区直播 | 在线观看国产欧美 | 国产亚洲色婷婷久久99精品91 | 欧美亚洲国产一区二区三区 | 国产成人a v | 黄污网 | 日本黄页网| 日本乳汁视频 | 青青91 | 青青青国产在线 | 91精品人妻一区二区三区蜜桃欧美 | 69久久久久| 五月婷婷,六月丁香 | 成人污视频在线观看 | 人人草在线 | 国产精品高清无码在线观看 | 奶妈的诱惑 | 91亚洲精品在线观看 | 成人精品影院 | 好大好舒服视频 | 日韩毛毛片 | 中文字幕亚洲精品 | 欧美精品亚洲精品 | 中文字幕第4页 | 国产精品111 | 天天毛片| 麻豆av一区二区 | 成人av图片 | 91在线观看视频 | 日韩电影院 | 亚洲免费区 | 成人黄网免费观看视频 | 亚洲精品一区二三区 | 国产成人高清在线 | 四虎在线免费观看 | 国产片在线| 玖玖玖影院| 日本h在线 | 欧美放荡性医生videos | 免费的一级片 | 夜夜骑天天操 | 四级黄色片| 黄黄的网站 | 日韩有码第一页 | 三级av在线 | 爆操欧美美女 | 国产成人在线免费观看视频 | www午夜| 97超碰精品| 国产中文字幕在线播放 | ass亚洲肉体欣赏pics | 国产又粗又猛又爽又黄的 | 五月开心婷婷 | 美女扒开双腿 | 女同黄色小说 | 伊人影院av | 国产精品自拍一区 | 高h喷水荡肉少妇爽多p视频 | 在线观看国产欧美 | 亚洲黄视频 | 国产乱子伦精品视频 | 午夜精品电影 | 中文字幕一区二区三区人妻不卡 | 国产精品自拍偷拍 | 久久男人天堂 | 黄页网站在线播放 | 亚洲精品v | 欧美四区 | www.一区二区 | 狠狠干干| 婷婷精品在线 | 久久久久久久精 | 涩人阁 | 四虎网址在线观看 | 人妻少妇精品视频一区二区三区 | 日韩久久一区二区 | 久久ww | heyzo在线播放 | 色婷婷综合久久久中文字幕 | 一级全黄裸体片 | 动漫3d精品一区二区三区乱码 | 麻豆视频在线观看 | 成人在线激情视频 | 久久不卡影院 | 成人av电影免费观看 | 后宫秀女调教(高h,np) | 国产精品久久久久久吹潮 | 日批国产| 国产精品电影网站 | 老年人毛片 | 免费看毛片的网站 | 国产黄色一级大片 | 性爱一级视频 | 黄漫在线免费观看 | 日一日射一射 | 成年人视频网 | 波多野吉衣一二三区乱码 | 97人妻精品一区二区三区免 | 黄色小说免费在线观看 | 日日碰| 日韩看片| 超碰在线免费 | 老年人毛片| 6699嫩草久久久精品影院 | 国产一区二区视频在线 | 日本一区二区视频在线 | 今天高清视频在线观看播放 | 成年人免费视频观看 | 日本高清视频在线 | 青青操原 | 91精品人妻一区二区三区蜜桃欧美 | 中国极品少妇xxxx做受 | 久久av在线 | 亚洲av毛片 | 成人福利在线 | 亚洲精品色午夜无码专区日韩 | 91超碰免费在线 | 国语毛片 | 国产精品久久久久久吹潮 | www.色多多| 久久亚洲精品小早川怜子 | 国产xxxx孕妇 | 秋霞午夜 | 中文字幕亚洲乱码熟女1区2区 | 亚洲熟妇色自偷自拍另类 | 黄色片网站在线观看 | 中文在线www | 少妇高潮惨叫久久久久久 | 国产美女视频免费观看下载软件 | 91久久久久久 | 久久久久性 | 97精产国品一二三产区 | 最新国产露脸在线观看 | 成人自拍av | 极度诱惑香港电影完整 | 碧蓝之海动漫在线观看免费高清 | 少妇高潮惨叫久久久久久 | 国产三级久久 | 极度诱惑香港电影完整 | 柠檬福利第一导航在线 | 高潮呻吟videoshd | 碧蓝之海动漫在线观看免费高清 | 欧美亚洲国产一区二区三区 | 国产午夜电影 | 国产精品高清无码在线观看 | 午夜色图 | 日本在线视频免费观看 | 成年人免费视频观看 | 很黄很污的网站 | 草民午夜理伦三级 | 97精品 | www.一区二区 | 少妇扒开粉嫩小泬视频 | 欧美成人免费在线视频 | 男人插入女人阴道视频 | 香港黄色网 | 懂色av蜜臀av粉嫩av分享 | 一级免费黄色片 | 欧美激情性做爰免费视频 | 国产精品呻吟 | 精品无码久久久久 | 少妇扒开粉嫩小泬视频 | 狠狠操在线观看 | 成人h在线观看 | 亚洲综合小说 | 中文字幕亚洲乱码熟女1区2区 | 97看片 | 波多野结衣简介 | 欧美日韩中文字幕一区二区 | 男人天堂中文字幕 | 亚洲青青草原 | 日韩jizz | 少妇扒开粉嫩小泬视频 | 97看片| 久久av电影 | 在线免费看av片 | 久久免费在线视频 | 欧美成人精品激情在线视频 | 久久精品噜噜噜成人 | 午夜在线看 | 亚洲熟妇色自偷自拍另类 | 免费日b视频| 精品国产乱码久久久久久郑州公司 | 爱情岛亚洲论坛入口福利 | 欧美区一区二 | 西西444www无码大胆 | 欧美成在线视频 | 日韩视频一区在线观看 | 成人影片在线播放 | 久久免费看少妇高潮 | 淫视频在线观看 | 污视频网站免费看 | 欧美又粗又深又猛又爽啪啪九色 | 国语毛片 | av不卡网站| 久久精品噜噜噜成人 | 巨粗高h双龙筋肉体育生 | 日本特黄一级 | 成人亚洲| 午夜肉体高潮免费毛片 | 日本精品一区二区三区视频 | 中文字幕视频在线观看 | 久久影视精品 | 国产三级在线观看视频 | 西西44rtwww国产精品 | 大学生三级中国dvd 亚洲成人精品久久 | 北条麻妃99精品青青久久 | 成人在线综合 | 亚洲一区二区观看 | 看全色黄大色黄女片18 | 肉丝av| 国产黄色片在线播放 | 91亚洲国产成人精品一区 | 国产精品视频入口 | 青青91| 亚洲免费观看高清 | 亚洲女优在线观看 | 91亚洲国产成人精品一区 | 成年网站在线视频网站 | 69精品国产| 中文字字幕在线中文乱码电影 | 国产精品天天狠天天看 | 国语对白一区 | 无码人妻久久一区二区三区 | 国产精品吴梦梦 | 久久av一区 | 欧美激情性做爰免费视频 | 夜夜骑天天操 | 午夜看片 | 国产欧美在线看 | av无限看| 牛牛超碰 | 在线无限看免费粉色视频 | 久久福利片 | 亚洲专区在线播放 | 嘛豆视频 | 91人人爽| 91久久久久国产一区二区 | 成人在线一区二区三区 | 色七七视频 | 欧美脚交 | 爆操白丝美女 | www.夜夜骑| 色婷婷社区| 国产精品黑丝 | 免费成人av片| 久久久久噜噜噜亚洲熟女综合 | 色婷婷激情av | 成人91视频 | 色中文字幕 | 久久久观看 | 国产亚洲激情 | 欧美人妻日韩精品 | 五月婷婷小说 | 久草青青草| 黄免费看 | 欧美日韩精品久久久 | 免费色网址 | 婷婷五月综合久久中文字幕 | 日本黄色网址大全 | 在线观看网页视频 | 麻豆精品一区二区 | 动漫美女被到爽 | 综合激情久久 | 日本国产一区 | 久草青青草 | 国产精品久久久一区 | 狠狠操天天操 | 91老肥熟 | 国产精品电影网站 | 日韩午夜精品 | 免费av网站观看 | 狠狠干狠狠插 | 中文字幕8 | 51国产视频 | 欧美亚洲在线视频 | 欧美 日韩 精品 | 91久久精品一区二区 | 7799精品视频 | 精品午夜福利视频 | 日本久色 | 好吊操视频这里只有精品 | 欧美一区二区三区成人精品 | 日韩久久成人 | 色中色在线视频 | 最新日韩在线 | 欧美精品 在线观看 | 日韩欧美国产高清 | 一级片手机在线观看 | 久久国产精品免费视频 | 在线观看成人网 | 日韩精品视频在线免费观看 | 日韩欧美一级片 | 亚洲成年网站 | 日本妈妈9| 毛片三级 | 四虎影视免费永久大全 | 国模在线| ass亚洲肉体欣赏pics | 亚洲欧美精品一区二区三区 | 国产91在线视频 | 巨粗高h双龙筋肉体育生 | 国产chinesehd精品露脸 | 久久久久久一区二区三区 | 中文有码在线 | 九九视频在线免费观看 | 鲁一鲁在线 | 国产精品免费久久 | 成人动漫网站在线观看 | 91成人在线免费视频 | 欧美尻逼| 欧美性生活视频 | 三级黄在线观看 | 中国男女全黄大片 | 伊人影院av | 97在线视频免费 | 四虎成人在线观看 | 成人黄色一级 | 爱综合网 | 婷婷精品在线 | www.香蕉| 亚洲手机在线观看 | 337p日本欧洲亚洲大胆张筱雨 | 天天摸夜夜添狠狠添婷婷 | 最好看的2019免费观看 | 日本中文字幕视频 | 色噜噜狠狠狠综合曰曰曰 | 国产亚洲色婷婷久久99精品91 | 国产一区精品在线观看 | 亚洲精品第一页 | 看黄色一级视频 | 成人宗合网 | 欧美伦乱 | 欧美骚少妇 | 三级av片 | 久久免费在线视频 | 黄色av中文字幕 | 亚洲h视频在线观看 | 国产成人激情 | 中文字幕一级 | 精品视频一区二区三区四区 | 99re视频这里只有精品 | 精品1区2区3区 | 日韩av无码一区二区三区 | 91精品网 | 青青青草视频在线 | 国产精品高清无码在线观看 | 青青91| 中文字幕一区二区人妻电影 | 精品无码国产一区二区三区51安 | 亚洲图片欧美 | 欧美性视屏| 欧美色图狠狠干 | 91精品国产免费 | 欧美日韩国产高清 | 美女爆乳18禁www久久久久久 | 欧美黑人一级片 | 人妖一区 | 灌篮高手全国大赛电影 | 91成人免费看 | 毛片三级 | 久久久久久久久久网站 | 淫欲的美女理论电影完整版 | 青青免费在线视频 | 日韩午夜精品 | 无码人妻aⅴ一区二区三区玉蒲团 | 国产首页| 日韩精品免费一区二区夜夜嗨 | 少妇综合| 人人综合| 视频在线你懂的 | 成人hd| 污污内射久久一区二区欧美日韩 | 爱情岛亚洲论坛入口福利 | 国产超级av | 美女一级黄色片 | 国产乱子伦精品视频 | 精品无码免费视频 | 老师让我她我爽了好久视频 | 亚洲一级影院 | 四级黄色片 | 四虎成人精品永久免费av九九 | 日韩精品无码一区二区三区久久久 | 在线观看成人网 | 青春草视频 | 欧美性生活视频 | 成人免费黄 | 色婷婷在线影院 | www.在线播放 | 草莓视频免费在线观看 | 米奇影视777 | 亚洲成成品网站 | 成年人性生活视频 | 欧美国产精品 | 精品美女一区二区三区 | 91快射 | 野花视频免费在线观看 | 日韩中文欧美 | 中文字幕第九页 | 精品无码免费视频 | 亚洲熟妇无码久久精品 | 超碰免费av| 五月婷婷开心中文字幕 | 69精品国产 | 少妇高潮惨叫久久久久久 | 夜夜操夜夜爱 | 韩国三级与黑人 | 国产又粗又大又爽视频 | 久久久久久中文字幕 | 亚洲第一免费 | 少妇全黄性生交片 | 亚洲高潮av | 日本美女一区二区 | 草民午夜理伦三级 | 日本中文字幕免费 | 久久99久久99精品免观看软件 | 婷婷香蕉| 精品伦精品一区二区三区视频密桃 | 日韩免费网站 | 91手机在线 | 成年人视频网站 | 日本黄色xxx | 黄色三级生活片 | 性色av蜜臀av浪潮av老女人 | 亚洲成年人 | 欧美丰满熟妇bbbbbb | 五月婷婷,六月丁香 | www色日本 | 在线观看亚洲国产 | 91久久国产综合久久91精品网站 | v天堂在线观看 | 双性人hdsexvideos| 国产精品欧美在线 | 美女一级黄色片 | 超碰在线免费 | 欧洲激情网 | av在线播放网站 | 欧美在线亚洲 | 日韩毛毛片 | 黄色小说免费在线观看 | 黄色一级带 | 人成在线 | 总裁憋尿呻吟双腿大开憋尿 | 色天堂视频 | 99激情网| 成人黄网免费观看视频 | 91久久久久久久久久久 | 国产精品天天狠天天看 | 美女吞精视频 | www.伊人网| 久久久99精品免费观看 | 亚洲综合久久久 | 96视频在线 | 动漫3d精品一区二区三区乱码 | 中文在线www | 麻豆精品一区二区 | 91精品人妻一区二区三区蜜桃欧美 | 日韩视频一区在线观看 | 亚洲午夜精品一区二区三区 | 草久影院| 色视屏| 色av资源 | 91久久久久久久久久久 | 水密桃av| 奇米影视在线播放 | 91大神久久 | 中文字幕亚洲欧美日韩高清 | 四级黄色片 | 精品日韩一区 | 北京富婆泄欲对白 | 在线观看成人网 | 最新日韩在线 | 2019中文字幕在线观看 | 五月天久久久久久 | 成人自拍av | 打屁股调教视频 | 伊人网视频 | 天天拍夜夜操 | 日本激情小视频 | 天天爱天天做 | 人妻少妇精品视频一区二区三区 | 99热网址 | 成人av图片| 日韩午夜一区 | 日韩人妻无码一区二区三区99 | 中日韩男男gay无套 中文字幕8 | 美女靠逼app | 一区二区av在线 | 国产麻豆传媒 | 欧美午夜精品一区二区 | 亚洲手机在线观看 | 美女爆乳18禁www久久久久久 | 成人看片泡妞 | 亚洲成年人 | 免费一级毛片麻豆精品 | 丰满少妇在线观看 | 日本一级一片免费视频 | 午夜aaa片一区二区专区 | 性生活视屏 | 午夜肉体高潮免费毛片 | 国产精品欧美在线 | 午夜精品久久久久久久爽 | 黄色精品在线观看 | 四虎网址在线观看 | 亚洲最新中文字幕 | 少妇av一区 | 嫩草在线 | 青青青国产在线 | 91日本在线| 青青草狠狠干 | 亚洲熟妇无码久久精品 | 91色站 | 艳母日本动漫在线观看 | 色综合网址| 91久久国产 | 黑夜传说1 | 亚洲日本中文 | 久久国产精品偷 | 在线免费看av片 | 男人操女人的视频 | 亚洲成年网站 | 欧美zzoo| 97超碰精品| 美女一区二区三区四区 | 精品伦精品一区二区三区视频密桃 | 91精品视频在线播放 | 国产在线97 | 在线观看www. | 欧美有码在线 | 香蕉福利 | 999国产精品视频 | 成年人免费网站在线观看 | 中文字幕女同女同女同 | 999国产精品视频 | 青青草国产成人99久久 | 欧美毛片基地 | 91热热| 尤物av在线 | 亚洲啊v | 伊人久久久久久久久久 | 永久免费成人代码 | 永久免费在线 | 欧美日韩h | 国产青青草视频 | 美女隐私无遮挡 | 污片视频在线观看 | 成人免费黄 | 国产在线看片 | 国产视频一区在线 | 自拍偷拍专区 | 天天插天天狠 | 国产美女自慰在线观看 | 亚洲黄色片 | 蜜桃av噜噜一区二区三区麻豆 | 亚洲综合色在线 | 嘿咻免费视频 | 婷婷超碰| 特黄aaaaaaaaa毛片免费视频 | 日韩三级黄色 | 青青视频在线免费观看 | 日本五十肥熟交尾 | 国产97视频 | 精品伦精品一区二区三区视频密桃 | 亚洲视频大全 | 国产一区二区在线看 | 原神女裸体看个够无遮挡 | 亚洲国产无码精品 | 一级全黄裸体片 | 免费看日韩毛片 | 九九综合久久 | 97人人爱 | www夜片内射视频日韩精品成人 | 欧美69久成人做爰视频 | 国产美女自慰在线观看 | 高清久久久 | 97自拍偷拍| 人妻少妇精品视频一区二区三区 | 国产成人在线观看免费网站 | 午夜精品久久久久久久爽 | 中文字幕视频在线观看 | 狠狠操夜夜爽 | 丁香花电影免费播放电影 | 视频在线观看免费大片 | 日本在线观看 | 强睡邻居人妻中文字幕 | 尤物av在线 | 欧美色图在线播放 | 欧美69久成人做爰视频 | 男女瑟瑟网站 | 4438x在线观看 | 97超碰成人| 麻豆精品一区二区 | 国产97视频 | 好吊一区二区三区 | 最好看的2019免费观看 | 日韩一区二区三区四区五区六区 | 波多在线观看 | 人人草在线 | 国产1区2区在线观看 | 成人av电影免费观看 | 中文字幕一区二 | 亚洲综合区 | 91快射| 又黄又色| 成人黄网免费观看视频 | 一区二区三区日韩欧美 | 久久久久久久久久网站 | 欧美亚洲国产一区二区三区 | 中文字幕亚洲欧美日韩高清 | 国内精品一区二区 | 乱日视频| 337p日本欧洲亚洲大胆张筱雨 | 欧美日韩精品久久久 | 久久久久噜噜噜亚洲熟女综合 | 6699嫩草久久久精品影院 | 欧美精品videos另类 | 日本免费中文字幕 | 欧美在线免费观看视频 | 婷婷欧美 | 五月婷婷开心中文字幕 | 国产无套精品一区二区三区 | 巨粗高h双龙筋肉体育生 | 免费三片在线观看网站v888 | 国产精品视频入口 | 久久大香 | 在线高清观看免费观看 | 日本精品一区二区三区视频 | 亚洲不卡在线视频 | 成人hd| 久久这里有 | 动漫3d精品一区二区三区乱码 | 久久久久性 | 日韩av一区在线 | 日韩欧美一级片 | 国产精品久久久久久吹潮 | 熟女人妻aⅴ一区二区三区60路 | 精品国产欧美一区二区三区成人 | 爱逼综合 | 一级性爱视频 | 一二三区视频 | 中文字幕亚洲欧美日韩高清 | 日韩高清一区 | 性史性dvd影片农村毛片 | 久久久观看 | 在线色av | 欧美性生活视频 | 一级片手机在线观看 | 熟女一区二区三区四区 | 午夜在线观看视频 | aaaa一级片| 久久大香 | 91免费视频 | 超大量吹潮系列合集 | 亚洲综合久久久 | 激情网五月 | 国产片91 | 日本五十肥熟交尾 | 亚洲免费中文字幕 | 另类日韩 | 一区二区三区日本 | 男人操女人的视频 | 女m被s玩胸虐乳哭着求饶 | 免费av播放 | 天天干天天草天天射 | 亚洲一区二区三区免费视频 | 波多在线观看 | 天天综合亚洲 | 午夜免费播放观看在线视频 | 丰满少妇在线观看 | 香港黄色网| 在线看片你懂得 | 欧美一级色片 | 伊人久久久久久久久久 | 柠檬福利第一导航在线 | 在线高清观看免费 | 色婷婷小说 | 欧美国产精品 | 97在线公开视频 | 天天天干 | 伊人天堂av | 伊人影院av | 色情毛片 | 91大神久久 | 青青草国产精品 | 大地二资源在线观看高清国语版 | 国产又粗又猛又爽又黄的 | 一区二区三区黄 | 小早川怜子一区二区三区 | 午夜色图| 波多野结衣中文字幕在线 | 青青青草视频在线观看 | 篠田优在线 | 久久三级视频 | 午夜久久久久久久久久 | 午夜a级片| 久热在线 | 色戒未删节版 | 黄色免费网站在线观看 | 91色国产| 成年人免费视频观看 | 97在线视频免费 | 色中色在线视频 | 欧美午夜精品一区二区 | 强行糟蹋人妻hd中文 | 久久久久久久久久网站 | v天堂在线观看 | 国产美女自慰在线观看 | 99re国产精品 | 中日韩男男gay无套 中文字幕8 | 久久影视精品 | 国产1区2区在线观看 | 国产第页 | 国产激情久久久久久熟女老人av | 91色国产 | 丰满熟妇被猛烈进入高清片 | 成人在线视频观看 | 在线观看国产精品入口男同 | 娇小的粉嫩xxx极品 天天射天天射 | 强行糟蹋人妻hd中文 | 国产精品2 | 中文字幕在线免费看 | 91精品人妻一区二区三区蜜桃欧美 | 超碰97人人爱 | 久久久久久一区二区三区 | 韩国三级与黑人 | 三级av片 | 灌篮高手全国大赛电影 | 中文在线免费视频 | 国内精品久久久久久 | 中文字幕第一页在线 | 午夜国产精品视频 | v天堂在线观看 | 色悠悠视频| 欧美日韩在线观看一区二区 | 可以看的毛片 | 色鬼艳魔大战1春荡女淫 | 欧美区一区二 | 欧美熟妇精品一区二区蜜桃视频 | 欧美69久成人做爰视频 | 看特级毛片 | 污网站视频 | 免费看一级大片 | 青青青国产在线 | 韩国三级与黑人 | 久久久久亚洲精品 | 可以免费看的av网站 | 97自拍偷拍 | 中文字幕亚洲欧美日韩高清 | 男人的天堂一区二区 | 在线观看www.| 在线视频 日韩 | 亚洲专区在线播放 | 欧美精品videos另类 | 1769在线视频 | 天天毛片| 99久久久无码国产精品免费蜜柚 | 成人欧美日韩 | 自拍偷拍第五页 | 国产中文字字幕乱码无限 | 日本网站免费观看 | www婷婷 | av综合在线观看 | 欧美bbbbbbbbbbbb精品 | 91丨九色丨黑人外教 | 奇米影视av | 91天堂| 熟女一区二区三区四区 | 和黑帮大佬的365 | 国产日比视频 | 91香蕉国产 | 99日韩精品 | 久久99久久99精品免观看软件 | 日韩一页| 91快射| 91热热| 超碰美女 | 精品国内自产拍在线观看视频 | 欧洲一区二区在线 | 久久影院在线观看 | 四虎成人在线观看 | 91成人在线免费视频 | 91精品国产免费 | 337p日本欧洲亚洲大胆张筱雨 | 日本免费中文字幕 | 亚洲高清毛片 | 女m被s玩胸虐乳哭着求饶 | 亚洲天堂午夜 | 婷婷欧美 | 精品午夜视频 | 爱搞国产| 欧美jizz欧美性大全 | 色天堂视频 | 97人妻精品一区二区三区免 | 奶妈的诱惑 | www.欧美在线 | 高h喷水荡肉少妇爽多p视频 | 总裁憋尿呻吟双腿大开憋尿 | 麻豆国产精品一区 | 久久亚洲电影 | 91快射| 成人自拍av| 日皮视频免费观看 | 视频一区在线播放 | 天天草夜夜操 | 懂色av蜜臀av粉嫩av分享 | 亚洲黄色三级 | 成人精品影院 | 久久av一区 | 亚洲男同视频 | 不卡久久 | 国产乱码精品一区二区三区中文 | 女~淫辱の触手3d动漫 | 强睡邻居人妻中文字幕 | 大地资源二中文在线影视观看 | 国语对白一区 | 污污网站在线免费观看 | 国产一区二区在线看 | 92国产精品 | 欧美成在线 | 奇米色777| 色欲av无码一区二区三区 | 午夜人体| 中文字幕一区二 | 欧美又粗又深又猛又爽啪啪九色 | 草莓视频免费在线观看 | 亚洲最新网址 | 波多野结衣一区二区三区在线观看 | 国产精品高清无码在线观看 | 二十四小时在线更新观看 | 日韩视频一区在线观看 | 国产精品一区三区 | 九九热九九 | 精品人妻午夜一区二区三区四区 | 日韩高清不卡 | 色婷婷伊人 | 免费在线观看黄色av | 永久免费视频网站直接看 | 国产精品欧美在线 | 欧美 日韩 综合 | 精品国产欧美一区二区三区成人 | 欧美亚洲国产日韩 | 91久久国产综合久久91精品网站 | 黄色网址免费 | 3级黄色片| 日韩城人网站 | 日本一级淫片色费放 | 亚洲青青草原 | 特级毛片在线观看 | 四虎网址在线观看 | 原神女裸体看个够无遮挡 | 51 吃瓜网| 五月婷婷,六月丁香 | 日本三级视频在线观看 | 国产在线小视频 | 国产一区二区中文字幕 | 欧美bbbbbbbbbbbb精品 | 色综合网址 | 久久久久久久成人 | 完美搭档在线观看 | 国产免费av电影 | 亚洲区一区二区三区 | 亚洲九九 | 中文天堂网 | 成人精品在线视频 | 日韩欧美国产高清 | www狠狠干| 美女爆乳18禁www久久久久久 | 亚洲日日夜夜 | 大学生三级中国dvd 亚洲成人精品久久 | 不良视频在线观看 | 最新国产露脸在线观看 | 淫欲的美女理论电影完整版 | 美女久久久 | 欧美日韩中文字幕一区二区 | 91在线播放视频 | 校园春色综合网 | 日日操夜夜爱 | 老鸭资源 | 青青草成人在线观看 | 日韩欧美精品在线 | 自拍亚洲欧美 | 久久久久9999 | 大地二资源在线观看高清国语版 | 少妇全黄性生交片 | 亚洲爽爽网 | 午夜免费在线 | 国产精品精品软件视频 | 国产激情久久久久久熟女老人av | 国产精品电影网站 | 色婷婷一区 | 久久久久久亚洲av无码专区 | 综合激情久久 | 狠狠操夜夜爽 | 国产日韩在线视频 | 欧美成人小视频 | 99热日韩 | 欧美性生活一区二区 | 大香焦久久 | 人人妻人人澡人人爽精品日本 | 日韩成人一区二区 | 精品不卡视频 | 中文字幕在线免费看 | 四虎网址在线观看 | 亚洲综合色在线 | 狠狠网站 | 日本特黄一级 | 精品伦精品一区二区三区视频密桃 | 国产精品一区三区 | 五月天狠狠操 | 456亚洲影院 | 99资源在线 | 国产日b视频 | 人人爽人人插 | 国产做爰免费视频观看 | 久久精品一 | 久久久久亚洲精品 | 国产日批视频 | 在线看污视频 | 婷婷五月综合久久中文字幕 | 色婷婷av一区二区三区之红樱桃 | 国产一区二区中文字幕 | 香蕉视频免费看 | 视频一区在线播放 | 青青草狠狠干 | 国产精品白丝喷水在线观看 | 国产激情久久久久久熟女老人av | 污污内射久久一区二区欧美日韩 | 欧美黄色片免费看 | 欧美尻逼 | 特大黑人巨交吊性xxxx视频 | 青娱乐青青草 | 40到50岁中老年妇女毛片 | 国产激情久久久久久熟女老人av | 国产精品自拍偷拍 | 五月天狠狠操 | 狠狠网站 | 美女一区| 一级大片视频 | 久久国产亚洲 | 亚洲综合久久久 | 都市激情 亚洲 | 欧美影院一区 | 色中色在线视频 | 成人免费毛片果冻 | 五月开心网 | 久青草视频在线观看 | 91禁漫h动漫羞羞网站 | 日韩精品在线视频 | 亚洲av无码乱码国产精品久久 | 国产免费av电影 | 国产一区二区视频在线 | 国产精品自拍偷拍 | 奇米影视77777 | 日韩精品在线视频观看 | 97人人爱| 日韩精品免费一区二区夜夜嗨 | 456亚洲影院 | 国产亚洲色婷婷久久 | 在线97| 暖暖日本在线视频 | 中文字幕丰满乱子伦无码专区 | 国产97视频 | 污污网站在线免费观看 | a天堂在线视频 | 少妇全黄性生交片 | 日韩精品一区二区三区免费视频 | 日韩国产免费 | 丁香花电影免费播放电影 | 最新国产露脸在线观看 | 男人天堂一区 | 狠狠干超碰 | 午夜国产片 | 少妇无码一区二区三区 | 神马久久精品 | 一级黄色免费 | 香港黄色网 | 韩国三级hd中文字幕 | yy6080午夜| 亚洲成年人影院 | 黄色美女一级片 | 精品综合久久 | 中文av在线播放 | 91久久国产综合久久91精品网站 | 在线h网站 | 国产免费不卡 | 成人黄色录像 | 香蕉福利| 青青青国产在线 | 神马久久精品 | 天天操天天操天天操 | 精品久久免费 | 亚洲精品中文字幕 | 夜夜摸夜夜操 | 久久综合99| 中文字幕8 | 中文字幕女同女同女同 | 天堂影视在线观看 | 日一日射一射 | 1024国产在线 | 精品国内自产拍在线观看视频 | 午夜人体| 久久成人一区 | 人人爱操 | 精品国内自产拍在线观看视频 | 欧美做受xxxxxⅹ性视频 | av在线播放网站 | 欧美激情性做爰免费视频 | 欧美69久成人做爰视频 | 欧美精品videos另类 | 欧美成人黄色片 | 亚洲三级免费 | 国产精品2| 欧美骚少妇 | 成年人精品 | 久久免费在线视频 | 成人在线视频观看 | 久久久久久一区二区三区 | 在线视频 日韩 | 久久精品大片 | 欧美亚洲在线视频 | 国语毛片 | 综合久久久久 | 禁断介护老人中文字幕 | 日韩一区二区三区四区五区六区 | 成人精品三级av在线看 | 日日拍拍 | 亚洲h视频在线观看 | 人人妻人人澡人人爽精品日本 | 老鸭资源| 中文字幕最新 | 日韩一级黄色大片 | 91久久国产综合久久91精品网站 | 成人在线一区二区三区 | 亚洲涩综合 | 久久亚洲精品小早川怜子 | 午夜黄视频| 成人动漫网站在线观看 | 青青草国产成人99久久 | 99re视频这里只有精品 | 日本在线视频免费观看 | 俄罗斯特级毛片 | 91视频污 | 国产呦系列 | 欧美日韩在线观看一区二区 | 日韩高清不卡 | 亚洲涩综合 | 少妇久久久久 | 国产午夜精品理论片 | 日本在线视频中文字幕 | 久久久久久av无码免费网站 | 日韩一页 | 玖玖玖影院 | 狠狠网站 | 精品午夜视频 | 天天摸夜夜添狠狠添婷婷 | 久久综合99| 成人免费毛片果冻 | 91视频在线网站 | 国产精品黑丝 | 欧美日韩在线观看一区二区 | 强睡邻居人妻中文字幕 | 欧美亚洲中文精品字幕 | 人妖一区 | 欧美日韩h | 少妇无码一区二区三区 | 日韩videos | 天天干天天草天天射 | 欧美做受xxxxxⅹ性视频 | 亚洲色图19p | 日本在线视频免费观看 | 91天天 | 久久三级视频 | 国产又粗又大又硬 | 亚洲欧美精品一区二区三区 | 国产精品久久久一区 | 熟睡侵犯の奶水授乳在线 | 欧美人妻日韩精品 | 成人影片在线播放 | 亚洲视频国产精品 | 欧洲成人av| 美女爆乳18禁www久久久久久 | 国产精品久久一区二区三区 | 日本天堂网在线观看 | 日韩视频一区 | 国产片91 | 免费在线一区二区三区 | 天堂av在线资源 | 欧美亚洲在线视频 | 久久成年人视频 | 黄网在线免费观看 | 97精产国品一二三产区 | 波多野结衣中文字幕在线 | 日韩性视频 | 久草视频免费在线 | 香蕉视频久久 | 水密桃av | 国产成人精品片 | 欧美亚洲国产一区二区三区 | 久久精品一 | 狠狠狠操 | 黄桃av| 一二三区视频 | 日本黄色xxx | 亚洲黄视频| xxx在线视频 | 色鬼艳魔大战1春荡女淫 | 亚洲综合色在线 | 精久久久久久久 | 天天射天天射 | 色中色在线视频 | 日韩精品久久久久久久 | 91超碰免费在线 | 亚洲视频国产精品 | 美女爆乳18禁www久久久久久 | 午夜精品久久久久久久久久 | 欧美毛片基地 | 欧美一区二区三区不卡 | 日本黄色大片免费 | 久久ww| 日本五十路女优 | 欧美 日韩 精品 | 久热只有精品 | 不卡久久 | 成年人视频网 | 亚洲午夜激情 | 999视频| 天天综合影院 | 中文字幕第18页 | 先锋成人资源 | 国产又粗又大又硬 | 狠狠干2023 | 日日拍拍 | 黄色av网站免费 | 欧美婷婷| 91狠狠| 欧美日韩影院 | 91禁漫h动漫羞羞网站 | 黄色免费网站在线观看 | 午夜a级片 | 免费黄色网址大全 | 天天干在线观看 | 欧美亚洲国产一区二区三区 | 久久精品一区 | 天天综合亚洲 | 日本欧美激情 | 日韩人妻无码一区二区三区99 | 国产亚洲激情 | 香蕉视频免费看 | 亚洲成年人 | 免费的一级片 | 国产中文字幕一区 | 最近中文字幕av | 完美搭档在线观看 | 久久久91| 亚洲国产精品无码久久久久高潮 | 欧美一区二区视频在线 | 7799精品视频 | 日韩av无码一区二区三区 | 野花视频免费在线观看 | 国内精品一区二区 | 国产麻豆精品久久一二三 | 特色黄色片 | 成人黄色录像 | 免费av播放 | 今天高清视频在线观看播放 | 四虎网址在线观看 | 国产片在线 | 亚洲熟妇无码久久精品 | 欧美色图狠狠干 | 亚洲成年人 | 神马久久久久久久久 | 91嫩草视频在线观看 | 午夜av网站 | 欧美专区第一页 | 欧美成人激情在线 | 五月天亚洲色图 | 午夜激情视频在线观看 | 原神女裸体看个够无遮挡 | 久久成人免费视频 | 在线不卡| 暖暖日本在线视频 | 97精品在线观看 | 欧美69久成人做爰视频 | 中文字幕一区二区三区5566 | 一区二区在线免费观看视频 | 久久久国产一区二区三区 | 97人妻精品一区二区三区免 | 天天摸夜夜添狠狠添婷婷 | 妻子的性幻想 | 亚洲免费中文字幕 | 亚洲精品小视频 | 能免费看av的网站 | 日韩一区二区三区四区在线 | 成人欧美日韩 | xxx免费视频| 日本黄色网址大全 | 亚洲区一区二区三区 | 男女网站免费 | 国产精品探花视频 | 成人观看 | 自拍偷拍国产精品 | 国产片91| 欧美一卡二卡三卡 | 日韩av无码一区二区三区 | 一级片黑人 | 国产日批视频 | a天堂在线视频 | 亚洲成成品网站 | 不良视频在线观看 | 亚洲免费三级 | 成人动漫网站在线观看 | 国产精品吴梦梦 | 一级大片视频 | 精品九九九九 | 69精品国产 | 草莓视频免费在线观看 | 亚洲深夜视频 | 欧美性猛交xxxx乱大交俱乐部 | 波多野吉衣一二三区乱码 | 国产激情久久久久久熟女老人av | 99re国产| 传媒av在线| 欧美一区二区三区成人精品 | 午夜国产精品视频 | 性生活免费网站 | 亚洲国产成人精品女人久久久 | 国产成人精品无码片区在线 | 久久这里有 | 色婷婷av一区二区三区之红樱桃 | 美女视频网址 | 亚洲综合一区二区三区 | 国产精选在线观看 | 蕾丝视频污 | 日本美女交配 | 特黄色一级片 | 国产三级久久 | 免费在线观看黄色av | 国产精品高清无码在线观看 | 国产精品久久 | 可以看的毛片 | 奇米久久 | www.午夜视频 | 久久tv| 国产97在线观看 | 日韩黄色在线 | 欧美福利一区 | 欧美成人激情在线 | 亚洲特级毛片 | 日本乳汁视频 | 国产一区二区毛片 | 在线免费看污视频 | 玩弄人妻少妇500系列 | 黄漫app| 九九热视频在线播放 | 日韩免费 | 亚洲xxx视频 | 乱色视频 | 午夜精品久久久久久久爽 | 动漫3d精品一区二区三区乱码 | 亚洲少妇一区二区 | 亚洲h视频在线观看 | 午夜激情免费视频 | 午夜在线观看影院 | 大陆熟妇丰满多毛xxxⅹ | 日韩一级黄色大片 | 国产午夜精品理论片 | 久久超 | 免费看日韩毛片 | 99热日韩| 午夜a级片 | 神马久久精品 | 麻豆成人免费 | 一级片黑人 | 国产成人毛片 | 色小说在线 | 精品伦精品一区二区三区视频密桃 | 日本天堂网在线观看 | 日韩精品一区在线观看 | 欧美激情黑白配 | 91色站| 亚洲乱码一区二区 | 国产精品v欧美精品v日韩 | 男人插入女人阴道视频 | 欧洲一区二区在线 | 国产亚洲一区二区三区在线观看 | 熟妇熟女乱妇乱女网站 | xxx免费视频 | 熟妇高潮一区二区三区 | 95在线视频 | 欧美性猛交xxxx乱大交俱乐部 | 色视屏| 97人妻精品一区二区三区免 | 久久精品国产亚洲AV无码男同 | 亚洲少妇一区二区 | 4hu最新网址 | 国产卡一卡二 | 亚洲专区在线播放 | 美女扒开双腿 | 亚洲综合久久久 | 污视频网站在线看 | 日韩精品在线视频 | 欧美又粗又大aaa片 亚洲欧洲视频 | 欧美骚少妇 | 色噜噜狠狠狠综合曰曰曰 | 先锋成人资源 | 中文字幕8 | 不良视频在线观看 | 成年人黄色录像 | 柠檬福利第一导航在线 | 永久免费成人代码 | 五月天狠狠干 | 91在线播放视频 | 瑟瑟在线观看 | 成人hd| 五月天久久久久久 | 青青草国产成人99久久 | 成年人毛片 | 国产又粗又猛又爽又黄的 | 国产美女自慰在线观看 | 日韩脚交footjobhd| 91天天 | 亚洲日本va在线观看 | 国产熟女高潮一区二区三区 | 打白嫩光屁屁女网站 | www.亚洲国产| 中文字幕一区二区三区精华液 | 欧美香蕉在线 | 爱吃波客今天最新视频 | 精品少妇theporn | 亚洲国产精品无码久久久久高潮 | 人妻丰满熟妇av无码区hd | 久久久久9999 | 天天操天天插天天射 | 亚洲一区二区精品在线 | 69精品无码成人久久久久久 | 久久精品大片 | 九九综合网 | 国产黄色一级大片 | 免费在线国产视频 | 久久久久久精 | 美女一级黄色片 | 第一福利丝瓜av导航 | 日屁网站 | 欧美性视屏 | 不良视频在线观看 | 黄色漫画免费观看 | 久久成人在线 | 国产精品久久久久av | 玉女心经 在线 | 天堂av在线资源 | 欧美丝袜丝交足nylons | 久久成人免费视频 | 久久精品成人 | 台湾黄色网址 | 亚洲综合久久久 | 国产青青草视频 | 日韩高清一区 | 亚洲成年人影院 | 都市激情一区 | 国产淫语 | yy6080午夜 | 午夜久久福利 | 国产三级在线观看视频 | 女人免费视频 | 免费看欧美大片 | 男18无遮挡脱了内裤 | 国产精品高清无码在线观看 | 一区二区在线免费观看视频 | 欧美成人激情在线 | 免费网站观看www在线观 | 年代下乡啪啪h文 | 大地资源二中文在线影视观看 | 精品日韩一区 | 超大量吹潮系列合集 | 综合导航 | 国产午夜精品理论片 | 亚洲精品一二三 | 亚洲欧美日韩综合在线 | 天天摸夜夜添狠狠添婷婷 | 欧美 日韩 精品 | 亚洲视频国产精品 | 国模在线观看 | 精品国产欧美一区二区三区成人 | 98在线视频| 国产一区二区在线看 | 亚洲欧洲日本在线 | 日韩精品第二页 | 美女一区二区三区四区 | 岛国av大片 | 成人在线播放视频 | 美女一区二区三区四区 | 草比网站| 巨粗高h双龙筋肉体育生 | 天天天天干| 日本美女交配 | 欧美日韩在线观看一区二区 | 91免费短视频 | 久久超 | 狠狠操天天操 | 99re视频这里只有精品 | 亚洲免费资源 | xxx免费视频 | 午夜大片 | 午夜院线 | 玩弄人妻少妇500系列 | 少妇av一区 | 在线免费看污视频 | 亚洲视频国产精品 | 午夜aaa片一区二区专区 | 中文字幕一区二区三区5566 | 在线97| 亚洲免费资源 | 国产美女视频免费观看下载软件 | 一区二区在线免费观看视频 | 欧美bbbbbbbbbbbb精品 | 插插插91 | 樱桃视频app看片 | 成年网站在线视频网站 | 伊人久久久久久久久久 | 色婷婷国产精品 | 黄色aaa视频| 丰满熟妇被猛烈进入高清片 | 亚洲激情成人 | 丁香网站 | 大香焦久久 | 韩国黄色大片 | 中文字字幕在线中文乱码电影 | aaaa一级片 | 久久精品波多野结衣 | 免费av网站观看 | 青青草国产成人99久久 | 手机在线观看毛片 | 女女在线 | 亚洲综合一区二区三区 | 国产一区二区中文字幕 | 欧美伦乱| 成人精品三级av在线看 | 91快射| 久久黄色大片 | 丁香花电影免费播放电影 | 久久精品波多野结衣 | 天天躁日日躁aaaaxxxx | 国产三级不卡 | 欧美人妻日韩精品 | 蕾丝视频污 | 澳门黄色一级片 | 超碰免费公开 | 五月丁香久久婷婷 | 麻豆成人在线 | 亚洲精品97久久 | 欧美四区 | 91香蕉视频黄色 | 一区二区三区欧美视频 | 国产人妻精品一区二区三区不卡 | 欧美一卡二卡三卡 | av影片在线播放 | 成人精品三级av在线看 | v天堂在线观看 | 两女双腿交缠激烈磨豆腐 | 91快射| 性生活视屏 | p站在线观看 | 日日碰 | 天天毛片 | 精品久久一 | 久久亚洲电影 | 国产精品久久久久久吹潮 | 青青操原 | 爱情岛亚洲论坛入口福利 | 精品国产一 | 久久久91 | 免费观看av的网站 | 日本五十肥熟交尾 | 999国产精品视频 | 麻豆视频在线观看 | 国产精品999| 久久看看 | 91中文 | 人妻熟女一区 | 琪琪五月天 | 日韩在线观看一区 | 日本免费中文字幕 | 亚洲欧美日韩综合在线 | 婷婷av一区二区三区 | 日本少妇xxxx软件 | 特级av片 | 超大量吹潮系列合集 | 中文字幕三区 | 久久久888 | 国产日b视频 | 巨粗高h双龙筋肉体育生 | 神马影院午夜伦理 | 在线h网站 | 激情开心成人网 | 淫视频在线观看 | 动漫美女被到爽 | 久久成人在线 | 国产福利在线观看 | 色婷婷综合久久久中文字幕 | 亚洲成年人av | 无码人妻精品一区二区三区蜜桃91 | 成人免费毛片男人用品 | 在线免费看污视频 | 国产二区电影 | 久久国产精品免费视频 | 夜夜操狠狠操 | 一区二区三区日韩欧美 | 日韩城人网站 | 爱情岛亚洲论坛入口福利 | 亚洲精品白浆高清久久久久久 | 国产精品白丝喷水在线观看 | 国产精选在线观看 | 国产精品欧美在线 | 四虎精品一区二区三区 | gogo人体做爰大胆视频 | 麻豆成人免费 | 九九视频在线免费观看 | 免费av网站观看 | 欧美福利视频导航 | 中文字幕亚洲欧美日韩高清 | 久久国产免费 | 嫩草在线 | 欧美私人影院 | 日本特黄一级 | 小早川怜子一区二区三区 | 国产乱码精品一区二区三区中文 | 中国极品少妇xxxx做受 | 午夜在线观看视频 | 前所未有的深入 | 91亚洲欧美 | 三级黄色免费 | 欧美性猛交xxxx乱大交退制版 | 九九视频在线播放 | 激情视频91| 亚洲精品小视频 | 国产一区免费视频 | 免费的一级片 | 久久国产免费视频 | 美女久久久 | 久操福利视频 | 日韩高清不卡 | 午夜久久久久久久久久 | 人妻一区二区在线 | 1769在线视频 | 琪琪五月天 | 日日骚影院 | 99热这里只有精品在线观看 | 成人在线播放视频 | 国产淫语| www狠狠干| 成年人免费网站在线观看 | 免费看毛片的网站 | 国产97在线观看 | 欧美精品videos另类 | 色情毛片| 快播黄色电影 | 秘密基地动漫在线观看免费 | www日本高清视频 | 亚洲免费三级 | 一本不卡| 欧美黄色片免费看 | 国产成人精品无码片区在线 | 国产精品精品国产 | 久久精品国产亚洲AV无码男同 | 久久99亚洲精品 | 色吧av色av | 日本美女一区二区 | 老师让我她我爽了好久视频 | 波多野结衣人妻 | 欧美大片免费 | 欧美69久成人做爰视频 | 操操干干 | 久草五月天 | 爱吃波客今天最新视频 | 欧美又粗又大aaa片 亚洲欧洲视频 | 在线观看黄色片 | mm131美女视频| 欧美成人精品激情在线视频 | 人妻精品久久久久中文字幕 | 动漫3d精品一区二区三区乱码 | 久久99久久99精品免观看软件 | 黄色片www| 青娱乐青青草 | 美女靠逼app | 都市激情一区 | 久久免费看少妇高潮 | 淫欲的美女理论电影完整版 | 午夜寂寞院 | 欧美熟妇精品一区二区蜜桃视频 | 中文字幕在线免费看 | 精品国产欧美一区二区三区成人 | 一级大片视频 | 9999热 | 篠田优在线 | 国产免费成人 | 国产中文字幕一区 | 午夜免费小视频 | 四虎在线免费观看 | av中文天堂 | 亚洲啊v | 激情小说亚洲图片 | 韩国三级与黑人 | 美女爱爱视频 | 日韩少妇 | 91免费影片 | 国产中文字字幕乱码无限 | 三上悠亚 在线观看 | 打白嫩光屁屁女网站 | 91精品国产综合久久久蜜臀粉嫩 | 今天高清视频在线观看播放 | 婷婷五月综合久久中文字幕 | 美女吞精视频 | 1024手机在线看片 | 亚洲日本va在线观看 | 欧美一卡二卡三卡 | 91麻豆精品国产91久久久久久 | 免费看黄色a级片 | 你懂得在线观看 | 特黄aaaaaaaaa真人毛片 | 瑟瑟在线观看 | 禁断介护老人中文字幕 | 亚洲精品一区二三区 | 火影忍者羞羞漫画 | 色婷婷av一区二区三区之红樱桃 | 9999在线视频 | 国产在线小视频 | 老师让我她我爽了好久视频 | 男人天堂一区 | 爆操巨乳| 久久久精品免费观看 | 中国男女全黄大片 | 超污视频网站 | 高h言情 | 91嫩草视频在线观看 | 好大好舒服视频 | 一级片黑人 | 想要视频在线观看 | 日本久久99| 国产精品偷拍 | 伊人网免费视频 | 爱吃波客今天最新视频 | 麻豆视频免费版 | 欧美精品久久99 | 色七七视频 | 久热只有精品 | 国产精品女优 | 亚洲国产一区在线观看 | 成人黄色免费电影 | 亚洲黄色av | 爱吃波客今天最新视频 | 久草色在线 | 亚洲手机在线观看 | 色图一区 | 欧美va视频 | 日日拍拍 | 香蕉视频久久 | 精品资源成人 | 国产在线精品一区二区 | 尤物av在线 | av影院在线观看 | 国产亚洲一区二区三区在线观看 | 在线无限看免费粉色视频 | 天天操天天插天天射 | 色噜噜综合 | 一级片黄色 | 亚洲视频在线观看一区二区 | 亚洲三级精品 | 三浦理惠子av在线播放 | 青青草视频免费 | 久久久久噜噜噜亚洲熟女综合 | 中国极品少妇xxxx做受 | 欧美亚洲在线视频 | 97精品在线观看 | 老师让我她我爽了好久视频 | 亚洲免费福利视频 | 波多野结衣一区二区三区在线观看 | 欧美成人高清视频 | 激情小说亚洲图片 | 91麻豆精品国产91久久久久久 | 欧美zzoo | 一级免费黄色片 | 91免费影片 | 99在线视频播放 | 亚洲精品白浆高清久久久久久 | 中文字幕亚洲乱码熟女1区2区 | 水密桃av | 国产超级av | 久久国产精品免费视频 | 精品午夜久久 | 成人午夜淫片免费观看 | 麻豆成人在线 | 一区二区av在线 | 999国产精品视频 | 欧美成人精品激情在线视频 | 9999在线视频 | 成人宗合网| 国产在线无码精品 | 韩国一区二区三区在线观看 | 精品人妻午夜一区二区三区四区 | 懂色av一区二区三区免费观看 | 国产成人a v| 强行糟蹋人妻hd中文 | 美国免费高清电影在线观看 | 福利免费视频 | 99久久久无码国产精品免费蜜柚 | 涩涩五月天 | 亚洲精品白浆高清久久久久久 | 婷婷精品在线 | 欧美放荡性医生videos | 欧美又粗又深又猛又爽啪啪九色 | 免费看日韩毛片 | 尤物av在线| 日本h在线 | 超碰人人干| 国产精品久久久久久吹潮 | 日韩三级| 色天堂视频 | 俄罗斯特级毛片 | 久久久久久久久久网站 | 打白嫩光屁屁女网站 | 今天高清视频在线观看播放 | 国产精品高清无码在线观看 | 毛片三级 | 黄色一级带| 亚洲高清毛片 | 爱情岛亚洲论坛入口福利 | 日本黄色大片免费 | 国产精品入口麻豆 | 色哟哟一区 | 超碰在线人人 | 色人阁视频 | 自拍偷拍国产精品 | 韩国一区二区三区在线观看 | 男女网站免费 | 日本少妇xxxxx | 一级全黄裸体片 | 国产无遮挡裸体免费视频 | 色婷婷国产精品 | 国产97视频| 黄污视频在线观看 | 亚洲国产精品无码久久久久高潮 | www.亚洲| 人人爽人人插 | 97在线视频免费 | 污视频网站在线看 | 黄色片在线观看视频 | 欧美午夜精品一区二区 | 最新国产露脸在线观看 | 亚洲黄色三级 | 成人在线综合 | 波多野吉衣一二三区乱码 | 夜夜摸夜夜操 | 欧美一级色片 | 国产又大又黄的视频 | 国产精品高清无码在线观看 | 日韩精品第二页 | 成人黄色录像 | 冲田杏梨 在线 | 欧美尻逼 | 久久精品爱 | 中文字字幕在线中文乱码电影 | 91在线观看视频 | 国产精品111 | 黄色网入口 | 丰满熟妇乱又伦 | 最好看的2019免费观看 | 精品国产乱码久久久久久郑州公司 | 中文天堂网 | 少妇高潮惨叫久久久久久 | 国产91小视频 | 亚洲麻豆精品 | 91丝袜在线 | 中文字幕视频在线观看 | 国产精品入口麻豆 | 人妻精品久久久久中文字幕 | 天天天干 | 人人草人人射 | 国产一级二级 | 欧美日韩三级在线 | 黄色av中文字幕 | a级黄毛片 | 久久色婷婷 | 亚洲成年人影院 | 欧美性猛交xxxx乱大交俱乐部 | 日韩在线观看视频网站 | 欧美黑人xxxx | 精品资源成人 | 欧洲成人av| 成年女人免费视频 | 日韩欧美精品在线 | 亚洲乱码一区二区 | 亚洲图片欧美 | 动漫美女被到爽 | 日韩有码第一页 | 午夜av免费看 | 黄色在线 | 久久成人在线 | 污片视频在线观看 | 日韩视频一区在线观看 | 日日夜夜爽爽 | 亚洲爽爽网 | 亚洲爽爽 | 国产色网站 | 久久久观看 | 在线观看亚洲国产 | 看片网站在线观看 | 波多野结衣中文字幕在线 | 波多野结衣一区二区三区在线观看 | 91丝袜在线 | 91精品国产91久久久久久黑人 | 欧美熟妇精品一区二区蜜桃视频 | 亚洲热视频 | 色欲av无码一区二区三区 | 色综合中文字幕 | 欧美香蕉在线 | 中文字幕一区二 | 国产精品伊人 | 日本国产一区 | 天天干天天干天天干 | 欧美精品亚洲精品 | 黄色片在线观看视频 | 国产91在线视频 | 夜夜操狠狠操 | 欧美成人高清视频 | 成人宗合网 | 五月婷婷激情四射 | 91成人在线观看喷潮动漫 | 好吊操视频这里只有精品 | 国产精品免费久久 | 亚洲高清毛片 | 精品无码人妻一区二区三区品 | 欧日韩一区二区三区 | 秋霞一区| 人人妻人人澡人人爽精品日本 | 最新日韩在线 | 天天天干| 色婷婷在线影院 | 天天干天天干天天干 | 日皮视频免费观看 | 天天草夜夜| 永久91嫩草亚洲精品人人 | 激情网五月| 色图一区 | 天天干视频在线观看 | 日本一级淫片色费放 | 99久久99久久精品国产片果冻 | 久久久久亚洲精品 | 瑟瑟在线观看 | 高h喷水荡肉少妇爽多p视频 | 国产精品自拍一区 | 中文字幕第一页在线 | 国产精品自拍偷拍 | 两女双腿交缠激烈磨豆腐 | 日韩中文字幕不卡 | 久久影院在线观看 | 99热这里只有精品在线观看 | 成人影片在线播放 | 日韩成人一区二区 | 免费看黄色a级片 | 超碰伊人 | 成人影片在线播放 | 免费看毛片的网站 | 午夜精品久久久久久久爽 | 久久久久免费观看 | 美女一区| 国产免费久久 | 国精品一区 | 国产一区二区视频在线 | 激情小说亚洲图片 | 五月婷婷久久久 | 一级片手机在线观看 | 国产中文字幕在线播放 | 国产精品探花一区二区在线观看 | 久久成人一区 | 超碰人人干 | 国产精品免费一区二区三区 | 日日夜夜爽爽 | 日韩视频一区在线观看 | 强睡邻居人妻中文字幕 | 中文字幕一区二区三区5566 | 大香焦久久 | 69久久久久 | 久久久96人妻无码精品 | 2019中文字幕在线观看 | 成人av网站在线 | 国产精品白丝喷水在线观看 | 欧美一级爱爱 | 在线高清观看免费 | 91精品国产aⅴ一区二区 | 亚洲特级毛片 | 一级全黄裸体片 | 国产亚洲一区二区三区在线观看 | 欧美精品 在线观看 | 亚洲xxx视频 | 日本少妇xxxxx | 青青视频在线免费观看 | 蜜桃视频中文字幕 | 污污内射久久一区二区欧美日韩 | 免费在线一区二区三区 | 就去吻亚洲 | 日本成人网址 | 亚洲国产成人久久 | 青青91 | 精品国产一 | 阿娇全套94张未删图久久 | 中文字幕自拍偷拍 | 日韩国产欧美一区二区 | 精品国产乱码久久久久久郑州公司 | 国产一级二级 | 强睡邻居人妻中文字幕 | 97在线播放| 91精品视频在线播放 | www婷婷 | 日日碰 | 国产精品av一区 | 可以看的毛片 | 毛片三级 | 中文字幕一区二区三区5566 | 欧美一级爱爱 | 中文字幕最新 | 欧美熟妇精品一区二区蜜桃视频 | 亚洲精品白浆高清久久久久久 | 色情毛片| 天天摸夜夜添狠狠添婷婷 | 麻豆国产精品一区 | 五月婷婷久久久 | 日本福利在线观看 | 日韩精品在线一区 | 女同黄色小说 | 中文字幕观看视频 | 免费国产一区 | 精品无码国产一区二区三区51安 | 日韩久久一区二区 | 农村老妇性真猛 | 尤物av在线| 黑丝啪啪 | 日韩有色| 精品人妻午夜一区二区三区四区 | 久久色婷婷 | 国语对白一区 | 美女爱爱视频 | 专干老肥女人88av | 国产精选在线观看 | 婷婷亚洲天堂 | 爱逼综合 | 亚洲青青草 | 欧k影视| 国产亚洲精品成人a | 国产在线精品视频 | 韩国一区二区在线观看 | <