精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JavaScript DOM的本質(zhì)及操作方法

開發(fā) 前端
雖然現(xiàn)在一些JavaScript框架,諸如jQuery、Prototype和MooTools能提高我們的前端開發(fā)效率,而且很好的解決了瀏覽器兼容性問題,但我們?nèi)砸蚝肑avaScript技術(shù)基礎(chǔ),而本文將介紹JavaScript和文檔對象模型(DOM)的本質(zhì)。

雖然現(xiàn)在一些JavaScript框架,諸如jQuery、Prototype和MooTools能提高我們的前端開發(fā)效率,而且很好的解決了瀏覽器兼容性問題,但我們?nèi)砸蚝胘avascript技術(shù)基礎(chǔ)。文章將介紹JavaScript和文檔對象模型(DOM)的本質(zhì)。

51CTO推薦閱讀:減少瀏覽器重解析 JavaScript DOM操作優(yōu)化方案

引言JavaScript

JavsScript是可以在各種不同環(huán)境下使用的動(dòng)態(tài)的、松散類型(loosely typed)、基于原型的編程語言。除了作為流行的Web客戶端程序語言,它還可以使用于IDE插件、PDF文件或給予其它平臺(tái)甚至更為抽象的概念。

JavaScript 是由來自Netscape得Brendan Eich創(chuàng)造的基于ECMAScript標(biāo)準(zhǔn)(ECMA-262)的語言。他最初被命名為LiveScript,但后來被改為JavaScript,這也是很多人會(huì)把它跟java混淆的原因之一。以下是它的一些特性的詳細(xì)說明:

◆動(dòng)態(tài)程序語言在運(yùn)行時(shí)執(zhí)行;他們并沒有編譯。正因?yàn)榇耍袝r(shí)JavaScript被認(rèn)為是一種腳本語言,而不是一個(gè)真正的編程語言(顯然是一種誤解)。

◆松散類型語言不要求強(qiáng)類型系統(tǒng),如果你使用C或Java編程(與JavaScript不同)聲明變量時(shí)你就明白必須聲明類似’int’(整型)。JavaScript的不同之處在于你用不著指定它的類型。

◆在JavaScript中我們使用原型來實(shí)現(xiàn)類似繼承的效果,JavaScript不支持類。

◆JavaScript也是函數(shù)式語言,它處理函數(shù)為優(yōu)先對象。它是基于lambda下的理念。

理解以上概念對于學(xué)習(xí)JavaScript這門技術(shù)關(guān)系并不是很大。只是讓大家對JavaScript有個(gè)初步正確的的認(rèn)識(shí),并了解JavaScript與其它編程語言的本質(zhì)區(qū)別。

文檔對象模型

文檔對象模型(Document Object Model),通常簡稱為DOM,是網(wǎng)站內(nèi)容與JavaScript互通的接口。自JavaScript成為最常用的語言時(shí)JavaScript和DOM通常被視為獨(dú)立的實(shí)體。DOM接口用于存取、遍歷和控制HTML和XML文檔。

下面是關(guān)于DOM的一些重要的知識(shí):

◆Window對象作為全局對象,你僅需嘗試使用”window”來訪問它。Window對象下包含了你的所有要執(zhí)行的JavaScript代碼。就像所有對象都包含屬性和方法。

◆屬性是存儲(chǔ)于對象下的變量。所有在網(wǎng)頁中創(chuàng)建的變量都會(huì)成為window對象的屬性。

◆方法是存儲(chǔ)在對象下的函數(shù)。在所有函數(shù)存儲(chǔ)在window對象下時(shí),你可以使用’methods’引用它們。

◆DOM相對于Web文檔結(jié)構(gòu)創(chuàng)建層次結(jié)構(gòu),層次有節(jié)點(diǎn)組成。DOM節(jié)點(diǎn)有很多不同的類型,其中最重要的要數(shù)’Element’、’Text’和’Document’了。

◆‘Element’節(jié)點(diǎn)表示在頁面中的元素,所以如果在頁面中你有一個(gè)段落元素(‘<p>’),那么你可以通過DOM的節(jié)點(diǎn)來訪問它。

◆‘Text’節(jié)點(diǎn)表示在頁面中的所有文本(在元素中),所以如果在頁面的段落中有一些文本內(nèi)容,那么你可以通過DOM的節(jié)點(diǎn)來訪問它。

◆‘Document’節(jié)點(diǎn)表示整個(gè)文檔。(它是DOM樹的根節(jié)點(diǎn))

◆另請注意,元素屬性是DOM節(jié)點(diǎn)本身。

◆不同的布局引擎對于DOM標(biāo)準(zhǔn)的執(zhí)行是有一定的差別的。例如,使用Gecko布局引擎的FireFox瀏覽器可以很好的執(zhí)行(但也并不是完完全全按照W3C規(guī)范那樣),但使用Trident引擎的IE因它的很多Bug和不完全執(zhí)行DOM標(biāo)準(zhǔn)而為眾人所知。這便是前端開發(fā)領(lǐng)域的一大痛苦之處。

網(wǎng)頁中的JavaScriptScript元素

當(dāng)你想在網(wǎng)站上使用JavaScript的時(shí)候,需要讓它們包含在script元素中:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">    
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en">    
  3.    <head>    
  4.       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />    
  5.       <title>JavaScript!</title>    
  6.   </head>    
  7.   <body>    
  8.      
  9.     <script type="text/javascript">    
  10.     // <![CDATA[    
  11.            
  12.     // ]]>    
  13.     </script>    
  14.            
  15.   </body>    
  16. </html>  

正如你所見在文檔下面有script元素。其實(shí)type屬性嚴(yán)格來講應(yīng)設(shè)置為”application/javascript”,但它不出所料的在IE瀏覽器下無法正常工作,所以我們使用”text/javascript”或不用type屬性,如果你在意代碼W3C規(guī)范驗(yàn)證的話建議你使用前者(“text/javascript”)。

你還會(huì)注意到在script元素中我們還有一對被注釋掉的代碼行,它們告訴支持XHTML的瀏覽器script元素中的內(nèi)容是字符數(shù)據(jù)而不應(yīng)被解釋為XHTML標(biāo)記。如果你計(jì)劃在JavaScript代碼中使用’<’或’>’字符的話那它就是相當(dāng)必要的。當(dāng)然,如果你是用普通HTML代碼的話,那你完全可以無視它。

defer屬性

我們script元素中的JavaScript代碼會(huì)在頁面讀過程中執(zhí)行,唯一的例外就是當(dāng)script元素有defer屬性的時(shí)候。默認(rèn)情況下,當(dāng)瀏覽器遇到script元素時(shí),它會(huì)停下來并運(yùn)行代碼,然后再繼續(xù)進(jìn)行文檔解析。defer屬性告訴瀏覽器代碼包含非變更文檔代碼而且可以稍后執(zhí)行。它的唯一問題就是只在IE下可用,所以我們還是要盡量不要使用它了,了解就行。

鏈接外部腳本

如果你想連接一個(gè)外部腳本文件,那么你只需為你的script元素添加一個(gè)有文件地址的src屬性。把腳本文件獨(dú)立分離出來進(jìn)行調(diào)用的確相對于內(nèi)聯(lián)腳本來說是個(gè)好辦法,它意味著瀏覽器可以緩存該文件,而且你都不用擔(dān)心那些CDATA之類的廢話。

  1. <script type="text/javascript" src="my-script.js"></script>  

#p#

JavaScript要點(diǎn)

在我們繼續(xù)講DOM之前有必要學(xué)習(xí)一下JavaScript基礎(chǔ)要點(diǎn),如果有些東西你理解起來有些困難,別擔(dān)心,你早晚會(huì)搞定它的。在JavaScript種不同類型的值,它們是數(shù)值、字符串、布爾值、對象、Undefined 和 Null。單行注釋使用兩個(gè)斜杠(//),這行內(nèi)的所有內(nèi)容都將被作為注釋內(nèi)容理解。多行注釋使用’/*’ 和 ‘*/’完成注釋段落。

數(shù)值

在JavaScript中所有數(shù)值都被描繪成浮點(diǎn)值,當(dāng)定義數(shù)值變量時(shí)記得不要用引號。

  1. // 注: 要一直使用 'var' 來聲明變量:  
  2. var leftSide = 100;  
  3. var topSide = 50;  
  4. var areaOfRectangle = leftSide * topSide; // = 5000  

字符串

你定義的字符串都是有字面上來看,JavaScript不會(huì)對它進(jìn)行處理。一個(gè)字符串可由一連串的Unicode字符組成,并由一對雙引號或單引號包圍。

  1. var firstPart = 'Hello';  
  2. var secondPart = 'World!';  
  3. var allOfIt = firstPart + ' ' + secondPart; // Hello World!  
  4. // +號進(jìn)行字符串連接處理  
  5. // (它還可用于數(shù)學(xué)上的加法運(yùn)算)  

布爾值

布爾類型在你進(jìn)行條件判斷的時(shí)候很有用,以了解是否符合指定的標(biāo)準(zhǔn)。布爾有兩個(gè)可能的值:true和false。任何使用邏輯算法的比較結(jié)果都將是布爾值。

  1.  5 === (3 + 2); // = true   
  2. // 你可以給變量聲明布爾值:  
  3. var veryTired = true;  
  4. // 你可以像這樣測試:  
  5. if (veryTired) {  
  6.     // 你的代碼  
  7. }  

上面看到的’===’是比較運(yùn)算符,我們將在后面討論。

函數(shù)

函數(shù)是一個(gè)專門的對象。

  1.  // 使用函數(shù)操作創(chuàng)建一個(gè)新函數(shù):  
  2. function myFunctionName(arg1, arg2) {  
  3.     // 這里是函數(shù)的代碼  
  4. }  
  5.       
  6. // 如果你省略掉函數(shù)名,那么你創(chuàng)建的是"匿名函數(shù)":  
  7. function(arg1, arg2) {  
  8.     // 這里是函數(shù)的代碼  
  9. }  
  10.           
  11. // 執(zhí)行函數(shù)僅需對他進(jìn)行引用并使用圓括號 (附帶參數(shù)):  
  12. myFunctionName(); // 無參數(shù)  
  13. myFunctionName('foo', 'bar'); // 帶參數(shù)  
  14.       
  15. // 你也可以在不聲明變量的情況下執(zhí)行函數(shù)  
  16.       
  17. (function(){  
  18.     // 這就是所謂的自調(diào)用匿名函數(shù)  
  19. })();  

數(shù)組

數(shù)組也是一個(gè)專門的對象,它可以包含任意數(shù)量的數(shù)據(jù)。要訪問數(shù)組中的數(shù)據(jù)你就必須使用數(shù)字,用以引用其在數(shù)組中的”索引”。

  1. // 兩種聲名數(shù)組的不同方式,  
  2. // 字面:  
  3. var fruit = ['apple', 'lemon', 'banana'];  
  4.       
  5. // 使用數(shù)組構(gòu)造器:  
  6. var fruit = new Array('apple', 'lemon', 'banana');  
  7.       
  8. fruit[0]; // 訪問數(shù)組中的第一個(gè)數(shù)據(jù)項(xiàng) (apple)  
  9. fruit[1]; // 訪問數(shù)組中的第二個(gè)數(shù)據(jù)項(xiàng)  (lemon)  
  10. fruit[2]; // 訪問數(shù)組中的第三個(gè)數(shù)據(jù)項(xiàng)  (banana)  

對象

對象是命名的的值的集合(鍵-值對),它和數(shù)組很相似,唯一的不同之處在于你可以為每個(gè)數(shù)據(jù)值指定名字。

  1. // 兩種聲明對象的不同方式,  
  2.       
  3. // 字面(大括號):  
  4. var profile = {  
  5.     name: 'Li',  
  6.     age: 23,  
  7.     job: 'Web Developer'  
  8. };  
  9.       
  10. // 適用對象構(gòu)造器:  
  11. var profile = new Object();  
  12. profile.name = 'Li';  
  13. profile.age = 23;  
  14. profile.job = 'Web Developer';  

if/else語句

if/else語句是JavaScript中最常見的結(jié)構(gòu),它看上去就像下面這樣:

  1. var legalDrinkingAge = 21;   
  2. var yourAge = 23;  
  3.       
  4. if ( yourAge >= legalDrinkingAge ) {  
  5.      // 我們使用'alert'來通知用戶:  
  6.     alert('你可以喝水.');  
  7. } else {  
  8.     alert('對不起,你不能喝水.');  
  9. }  

循環(huán)

循環(huán)在遍歷數(shù)組中的數(shù)據(jù)項(xiàng)或?qū)ο蟮乃谐蓡T時(shí)非常有用,JavaScript中最常用的循環(huán)是for和while語句。

  1. var envatoTutSites = ['NETTUTS','PSDTUTS','AUDIOTUTS','AETUTS','VECTORTUTS'];  
  2. // WHILE循環(huán)  
  3. var counter = 0;  
  4. var lengthOfArray = envatoTutSites.length;  
  5. while (counter < lengthOfArray) {  
  6.     alert(envatoTutSites[counter]);  
  7.     counter++; // 等同于 counter += 1;  
  8. }  
  9.       
  10. // FOR循環(huán)  
  11. // (The i stands for "iterator" - you could name it anything)  
  12. for (var i = 0length = envatoTutSites.length; i < length; i++) {  
  13.     alert(envatoTutSites[i]);  
  14. }  

#p#

訪問DOM節(jié)點(diǎn)

假設(shè)我們有一個(gè)包含了一個(gè)段落和一個(gè)無序列表的基本XHTML文檔:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> 
  3.     <head> 
  4.             <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
  5.             <title>JavaScript!</title> 
  6.     </head> 
  7.     <body> 
  8.        
  9.         <p id="intro">My first paragraph...</p> 
  10.       
  11.         <ul> 
  12.             <li>List item 1</li> 
  13.             <li>List item 1</li> 
  14.             <li>List item 1</li> 
  15.             <li>List item 1</li> 
  16.             <li>List item 1</li> 
  17.         </ul> 
  18.       
  19.         <script type="text/javascript"> 
  20.         // <![CDATA[  
  21.         
  22.        // ]]> 
  23.         </script> 
  24.       
  25.     </body> 
  26. </html>  

在第一個(gè)例子中我們將使用’getElementById’這個(gè)DOM方法訪問我們的段落。

  1. var introParagraph = document.getElementById('intro');  
  2. / 我們現(xiàn)在訪問了一個(gè)DOM節(jié)點(diǎn),這個(gè)DOM節(jié)點(diǎn)代表intro段落。 

變量’introParagraph’現(xiàn)在指向DOM節(jié)點(diǎn),我們現(xiàn)在可以在這個(gè)節(jié)點(diǎn)上做很多事情,我們可以讀取它的內(nèi)容和屬性,也可以控制它的任何方面。我們可以刪除它、克隆它或?qū)⑺频紻OM樹的其它位置。

我們可以使用JavaScript和DOM接口訪問現(xiàn)在文檔中的任何東西。所以,我們可能希望用類似的方式訪問文檔中的那個(gè)無序列表,但唯一的問題就在于它并沒有ID。你可以給它一個(gè)ID屬性并使用同樣的方法訪問它或者使用’getElementsByTagName’方法訪問它。

  1.  var allUnorderedLists = document.getElementsByTagName('ul');  
  2. // 'getElementsByTagName' 返回當(dāng)前存在的節(jié)點(diǎn)集合/列表  
  3. // 它除了那一點(diǎn)微小的差別外其實(shí)和數(shù)組很相似。  

getElementsByTagName

getElementsByTagName方法返回當(dāng)前存在的節(jié)點(diǎn)集合/列表,它和數(shù)組的相似之處是它也有l(wèi)ength屬性。需注意的重要一點(diǎn)是這些集合是’即時(shí)’的,如果你在DOM中添加了一個(gè)新元素那么這個(gè)集合將自動(dòng)自我更新。由于它和數(shù)組類似,所以我們可以使用索引來訪問其中的每個(gè)節(jié)點(diǎn),從0到這個(gè)集合的總長度(減1)。

  1. // 訪問單個(gè)無序列表: [0] index  
  2. var unorderedList = document.getElementsByTagName('ul')[0];  
  3.       
  4. // 將UL中的列表項(xiàng)創(chuàng)建為節(jié)點(diǎn)列表:  
  5. var allListItems = unorderedList.getElementsByTagName('li');  
  6.      
  7. // 現(xiàn)在我們可以使用for循環(huán)遍歷列表項(xiàng):  
  8. for (var i = 0length = allListItems.length; i < length; i++) {  
  9.     // 提取其文本節(jié)點(diǎn)并alert它的內(nèi)容:  
  10.     alert( allListItems[i].firstChild.data );  
  11. }  

遍歷DOM

術(shù)語”遍歷”就是用來描述訪問整個(gè)DOM尋找節(jié)點(diǎn)的行為。DOM接口為我們提供了大量的節(jié)點(diǎn)屬性以便我們在文檔中的所有節(jié)點(diǎn)自由訪問。
這些節(jié)點(diǎn)屬性可以方便我們訪問關(guān)聯(lián)的/挨著的節(jié)點(diǎn):

Node.childNodes:你可以使用它訪問某個(gè)元素的所有直屬子元素。它將返回一個(gè)類似數(shù)組的對象,你可以循環(huán)遍歷它。數(shù)組中的節(jié)點(diǎn)可以包含所有不同類型的節(jié)點(diǎn),如文本節(jié)點(diǎn)和其它類型的元素節(jié)點(diǎn)。

◆Node.firstChild:這個(gè)屬性等同于訪問’childNodes’數(shù)組的首項(xiàng)(‘Element.childNodes[0]‘)。它是個(gè)捷徑。

◆Node.lastChild:這個(gè)屬性等同于訪問’childNodes’數(shù)組的末項(xiàng)(‘Element.childNodes[Element.childNodes.length-1]‘)。它也是個(gè)捷徑。
 
◆Node.parentNode:這個(gè)屬性可以讓你訪問當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn),僅會(huì)有唯一一個(gè)父節(jié)點(diǎn),如果想訪問’祖父’級節(jié)點(diǎn),可以使用’Node.parentNode.parentNode’,以此類推。
 
◆Node.nextSibling:這個(gè)屬性可以讓你訪問DOM樹同級下的下一個(gè)節(jié)點(diǎn)。

◆Node.previousSibling:這個(gè)屬性可以讓你訪問DOM樹同級下的上一個(gè)節(jié)點(diǎn)。

所以就想你看到的一樣,遍歷DOM就是如此簡單,只要你熟練運(yùn)用了他的那些節(jié)點(diǎn)屬性。

列表項(xiàng)只能在他們之間沒有空格的情況下檢索。因?yàn)樵谖臋n中你能得到文本節(jié)點(diǎn)和元素節(jié)點(diǎn),而’<ul>’和’<li>’之間的空格也會(huì)被當(dāng)做是一個(gè)節(jié)點(diǎn)(文本節(jié)點(diǎn))。同樣,無序列表嚴(yán)格意義上講并不是段落的下一個(gè)兄弟節(jié)點(diǎn),因?yàn)樵谒麄z之間有空格,也就是另一個(gè)節(jié)點(diǎn)。通常在這種情況下,你可以遍歷’childNodes’數(shù)組并測試它們的’nodeType’,'nodeType’值為1就是元素節(jié)點(diǎn),2為屬性,3為文本節(jié)點(diǎn)。

這就是JavaScript基本運(yùn)行方式,你可以使用本地DOM方法和屬性漂亮的訪問并提取文檔中的元素。現(xiàn)在你可以脫離那些繁瑣的框架而獨(dú)立進(jìn)行基本的DOM操作了。

【編輯推薦】

  1. 深入解讀JavaScript中BOM和DOM
  2. 詳解JavaScript DOM中的Node節(jié)點(diǎn)
  3. 減少瀏覽器重解析 JavaScript DOM操作優(yōu)化方案 
責(zé)任編輯:王曉東 來源: 暴風(fēng)彬彬的博客
相關(guān)推薦

2010-09-28 14:52:57

JavaScriptDOM

2010-08-25 14:37:38

snort入侵檢測

2017-07-19 14:26:01

前端JavaScriptDOM

2010-09-13 17:12:55

JavaScript

2009-12-15 13:59:42

Ruby對象操作

2010-02-01 09:40:08

Python操作

2011-03-29 10:16:47

Jave枚舉

2019-12-11 09:23:51

JavaScriptHTMLXML

2009-12-31 11:35:20

Silverlight

2010-03-05 13:48:24

Python for

2009-09-18 10:58:31

C#數(shù)組操作

2010-02-23 17:59:52

WSIT連接WCF

2009-12-30 14:28:06

Silverlight

2010-03-04 09:58:32

安裝Python

2010-03-15 15:18:23

Python運(yùn)行

2009-09-15 23:21:17

Linq插入數(shù)據(jù)

2010-09-08 16:50:11

JavaScriptDOM操作

2009-08-28 15:25:38

C#線程操作

2016-04-06 11:29:58

JavaScriptDOM操作

2009-08-18 15:49:19

C# 操作Excel
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

日韩精品在线免费观看| 欧美日韩中文字幕综合视频| 91亚洲精华国产精华| 久久免费播放视频| 深夜福利久久| 日韩午夜av电影| 欧美激情成人网| www红色一片_亚洲成a人片在线观看_| 亚洲久久一区| 中文精品99久久国产香蕉| 91av免费观看| 欧美精品资源| 午夜视频久久久久久| 宅男av一区二区三区| 日韩在线一区二区三区四区| 免费欧美在线视频| 4444欧美成人kkkk| 一区二区在线观看免费视频| 精品毛片免费观看| 亚洲精品不卡在线| 少妇性l交大片7724com| 成人黄色视屏网站| 欧美日韩免费区域视频在线观看| 国产一区二区久久久| 一级爱爱免费视频| 水野朝阳av一区二区三区| 免费不卡在线观看av| 天天干天天舔天天操| 国产精品15p| 欧美疯狂做受xxxx富婆| 女人另类性混交zo| 国产传媒在线| 亚洲一区二区欧美激情| 亚洲毛片aa| 国产永久免费高清在线观看| 成人黄色小视频在线观看| 成人福利网站在线观看| 天天干天天色综合| 国产欧美69| 91国内精品久久| 久草免费在线观看视频| 午夜精品毛片| 日韩亚洲精品电影| 中国美女黄色一级片| 国内亚洲精品| 亚洲最新视频在线| 国产又粗又猛又爽又黄av| 日韩av不卡一区| 精品视频在线播放色网色视频| 国产精品亚洲αv天堂无码| 国产精品一区hongkong| 一区二区在线观看免费| 日本xxx免费| 久草免费在线| 亚洲欧美色一区| 最近中文字幕免费mv| 色的视频在线免费看| 中文字幕 久热精品 视频在线 | 俺来也官网欧美久久精品| 国产精品麻豆99久久久久久| 亚洲精蜜桃久在线| 精品176二区| 亚洲影院免费观看| 精品久久一二三| 亚洲男人av| 欧美性猛交xxxxxx富婆| 可以看污的网站| 国产免费av国片精品草莓男男| 精品久久久久久亚洲国产300| 视频一区免费观看| 永久av在线| 亚洲精品国产无天堂网2021| www.亚洲成人网| yellow字幕网在线| 色综合天天狠狠| 亚洲视频第二页| 豆花视频一区| 精品国产一区二区精华| 欧美熟妇一区二区| 久久在线视频| 欧美国产日本在线| 国产精品久免费的黄网站| 男女男精品视频| 99re在线国产| 免费在线看v| 亚洲人成在线观看一区二区| 分分操这里只有精品| 亚洲高清黄色| 日韩欧美中文一区| 人人妻人人藻人人爽欧美一区| 超碰成人免费| 一区二区三区 在线观看视| 欧美三级黄色大片| 美女黄色成人网| 91九色蝌蚪嫩草| 免费人成在线观看网站| 综合激情成人伊人| 中国丰满人妻videoshd| 9999精品| 亚洲欧美日韩成人| 久久久国产成人| 丝袜亚洲另类欧美| 懂色中文一区二区三区在线视频| 国产成人精品白浆久久69| 91在线视频在线| 亚洲小说欧美另类激情| 一区一区三区| 欧美v亚洲v综合ⅴ国产v| 国产精久久一区二区三区| 欧美日韩精品一本二本三本| 国产精品com| 日韩一区二区三区不卡| 亚洲欧美日韩人成在线播放| 欧美视频免费播放| 高清一区二区三区| 久久av红桃一区二区小说| 日韩三级一区二区| 国产麻豆精品一区二区| 亚洲 国产 日韩 综合一区| 国产在线天堂www网在线观看| 欧美日韩在线视频观看| 无码国产精品一区二区高潮| 国产精品久久久乱弄| 欧洲亚洲免费在线| 色香蕉在线视频| 亚洲综合视频在线| 污污视频网站在线| 欧美mv日韩| 国产精品电影久久久久电影网| 最近日韩免费视频| 国产午夜三级一区二区三| 无码专区aaaaaa免费视频| 91亚色免费| 噜噜噜久久,亚洲精品国产品| 国产成人免费在线视频| 亚洲视频sss| www.一区| 中文字幕欧美在线| 日本黄色一级视频| www欧美成人18+| 男人靠女人免费视频网站| 国产福利一区二区精品秒拍| 久久久久久亚洲精品不卡| 国产肥老妇视频| 亚洲激情六月丁香| 人妻 丝袜美腿 中文字幕| 欧美在线播放| 国产91一区二区三区| 调教一区二区| 亚洲成色www8888| 日本视频www| 99久久精品国产网站| 奇米精品一区二区三区| 久久93精品国产91久久综合| 日本高清视频精品| 成年女人的天堂在线| 在线观看91精品国产入口| 能直接看的av| 激情综合色综合久久综合| 做爰高潮hd色即是空| 91精品福利观看| 欧美日韩国产999| 日韩中文字幕观看| 91官网在线免费观看| 国产亚洲精品精品精品| 国产一区二区在线观看视频| 91传媒免费视频| 人人网欧美视频| 国产精品久久久久久久9999| 美女av在线播放| 日韩免费视频一区| 欧美性猛交bbbbb精品| 国产精品日韩成人| 中文字幕在线播放一区二区| 一本久久知道综合久久| 日韩成人av网站| 免费视频观看成人| 久久久综合免费视频| 男女av在线| 91精品国产免费| 国产一级做a爱片久久毛片a| 国产精品无圣光一区二区| 日本中文字幕精品| 麻豆亚洲精品| 菠萝蜜视频在线观看入口| 国产在线一二区| 伊人久久大香伊蕉在人线观看热v| 日韩女优av电影| www.国产com| 中文字幕视频一区| 中文字幕第3页| 日本人妖一区二区| 久久av综合网| 欧美va久久久噜噜噜久久| 国产精品一区二区三区不卡| 久久亚洲国产精品尤物| 91黑丝在线观看| 成人日批视频| 亚洲图片在区色| 亚洲乱码在线观看| 欧美午夜精品一区| 男人的天堂一区| 亚洲人精品一区| 美国黄色特级片| 99在线精品免费| 精产国品一二三区| 日韩成人免费在线| 国产精品宾馆在线精品酒店| 五月婷婷六月综合| 视频一区二区在线| 亚洲黄页在线观看| 国产精品一区二区三区免费观看| 2020国产在线| 日韩中文在线中文网在线观看| 一级黄色片网站| 色八戒一区二区三区| 国产乡下妇女做爰毛片| 中文字幕一区二区三区在线观看| 一本之道在线视频| 免费不卡在线视频| 欧美xxxxx在线视频| 欧美日本三区| 久久久成人精品一区二区三区 | 免费a级黄色片| 国内精品自线一区二区三区视频| wwwwww欧美| 日韩欧美三级| 日产中文字幕在线精品一区| 久久综合五月婷婷| 国产精品美女诱惑| 一区二区三区四区高清视频| 91人人爽人人爽人人精88v| 欧美成人福利| 国产三级精品网站| 日本国产亚洲| 成人乱人伦精品视频在线观看| 6699嫩草久久久精品影院| 欧美成人网在线| 天堂8中文在线| 欧美另类69精品久久久久9999| 天堂v在线观看| 久久久久久久性潮| y97精品国产97久久久久久| 户外极限露出调教在线视频| 日韩精品在线看| 三级做a全过程在线观看| 日韩美女av在线| 国内在线免费高清视频| 国产午夜精品免费一区二区三区| 中文字幕一区二区三区四区免费看| 亚洲精品国产成人久久av盗摄 | 任你躁在线精品免费| 国内精品视频在线播放| 欧美日韩麻豆| 欧美日韩电影一区二区| 欧美日韩一区二区综合| 亚洲日本japanese丝袜| 91免费精品| 91看片淫黄大片91| 在线 亚洲欧美在线综合一区| 亚洲v欧美v另类v综合v日韩v| 影音先锋欧美激情| 国产视频不卡| 精品一区欧美| 伊人久久99| 午夜精品999| 人人妻人人添人人爽欧美一区| 国产精品不卡| 免费视频爱爱太爽了| 亚洲激情自拍| 免费日韩中文字幕| 极品美女销魂一区二区三区| 香蕉久久久久久av成人| 91丨九色丨蝌蚪丨老版| 在线观看天堂av| 亚洲五月六月丁香激情| 亚洲GV成人无码久久精品| 欧美无砖砖区免费| 性一交一乱一色一视频麻豆| 日韩精品在线免费播放| 老司机在线视频二区| 久久久免费高清电视剧观看| 高清电影一区| 国产传媒欧美日韩| 激情综合网五月| 日本一道在线观看| 天堂在线一区二区| 精品久久久久久无码人妻| 久久久99精品免费观看不卡| 欧美国产日韩在线观看成人| 色综合久久久网| 亚洲精品视频网| 中日韩美女免费视频网站在线观看| 黄网在线免费| 欧美国产日韩一区二区| 成人不卡视频| 国产精品亚洲综合| 久久中文亚洲字幕| 国产又黄又大又粗视频| 国产精品一二三四| 亚洲一二三精品| 伊人久久大香| 日本精品免费观看| 777久久精品| 一本久道久久综合| 免费在线亚洲欧美| 亚洲熟女一区二区三区| 国产精品久久网站| 国产中文字幕视频| 欧美精品一区二区三区很污很色的 | 成年人免费在线视频| 久久免费精品视频| av在线成人| 亚洲国产精品日韩| 亚洲欧美日韩国产| 国产麻豆剧传媒精品国产av| 亚洲色图在线视频| 在线观看国产一区二区三区| 亚洲国产精品99久久| 亚洲资源一区| 成人免费淫片视频软件| 不卡在线一区| 蜜臀视频一区二区三区| 26uuu国产在线精品一区二区| av女人的天堂| 欧美日韩一区二区精品| 亚洲男人第一天堂| 欧美激情视频一区| 日韩视频网站在线观看| 欧美lavv| 久久精品一区二区国产| 手机免费看av片| 亚洲一二三专区| 刘玥91精选国产在线观看| 久久99国产综合精品女同 | 国产日本欧美一区二区三区| 要久久电视剧全集免费 | 亚洲国产国产亚洲一二三| www.欧美激情.com| 18涩涩午夜精品.www| 国产又粗又长又大视频| www国产91| 国产精品白丝久久av网站| 国产又大又长又粗又黄| 国产一区欧美日韩| 九九视频在线免费观看| 日韩精品中午字幕| 国产精品一品| 久久一区二区精品| 久久激情视频| 国产一二三四区在线| 欧美怡红院视频| 欧美黄色激情| 999国内精品视频在线| 狠狠入ady亚洲精品| 中文字幕一区二区三区乱码不卡| 国产精品国产三级国产aⅴ中文| 国产在线一区视频| 亚洲电影免费观看高清完整版在线观看| 国产经典自拍视频在线观看| 国产精品高潮呻吟久久av无限 | 日韩福利在线播放| 日韩专区第三页| 久热精品视频| 在线免费看视频| 日韩欧美国产综合一区| а√天堂中文在线资源8| 精品欧美一区二区三区久久久| 亚洲乱码在线| 欧美激情一区二区三区p站| 欧美日韩亚洲精品一区二区三区 | 亚洲精品在线免费观看视频| 97蜜桃久久| 视频一区亚洲 | 精品国产1区2区| 国产免费视频在线| 亚洲自拍在线观看| 亚洲免费中文| 亚洲AV成人无码精电影在线| 日韩美女主播在线视频一区二区三区 | 成人一区视频| 四虎4hu永久免费入口| 91小视频免费观看| 亚洲影视一区二区| 久久免费成人精品视频| 日韩在线欧美| 超碰caoprom| 欧美图区在线视频| 538在线视频| 天天成人综合网| 26uuu色噜噜精品一区二区| 一起草av在线| 欧美一级片在线播放| 亚洲国产精品久久久久蝴蝶传媒| 久久精品国产99久久99久久久| 国产精品嫩草99a| 三级小视频在线观看| 国产日产亚洲精品| 免费在线成人| 日韩精品一区二区三区国语自制|