成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析Javascript Dom編程

開發 前端
這里向大家描述一下Javascript Dom編程,DOM編程技術背后的思路和原則:預留退路、循序漸進和以用戶為中心等,這些概念對于任何前端Web開發工作都非常重要。

你對Javascript Dom編程是否了解,在DOM模型中,每一個元素(element)、屬性(attribute)、文本(text)都可以看做是一個對象,javascript可以訪問獨立訪問這些對象,用一些方法可以找到和改變這些對象。

Javascript Dom編程

一:Document Object Model

在DOM模型中,每一個元素(element)、屬性(attribute)、文本(text)都可以看做是一個對象,javascript可以訪問獨立訪問這些對象,用一些方法可以找到和改變這些對象。

DOM模型

DOM是這樣規定的,每個HTML的標簽是一個元素節點,包含在元素中的文本是文本節點,每一個HTML屬性是一個屬性節點。

二:訪問DOM的節點

A:通過ID獲取元素

  1. vartarget=document.getElementById("berenger");  
  2.  

B:通過TagName獲取元素

  1. varlistItems=document.getElementsByTagName("li");  
  2.  

listItems是一個類似數組的對象,可以用listItems.Length來獲得對象的長度。

C:通過ClassName獲取元素

Javascript Dom編程中大多數情況下使用className來獲取元素比tagname要簡便,但是dom沒有提供相應的函數,所以我們要創建一個方法。

可以分解為以下三步:

1:搜索文檔中的所有元素。

2:對每一個元素,把所屬的class和所要找尋的class做比較。

3:如果相同,添加到list中。

js代碼如下:

  1. VarCore={};  
  2.  
  3. Core.getElementsByClass=function(theClass)  
  4. {  
  5. varelementArray=[];  
  6. //IE中不支持getElementsByTagName("*"),用document.All。  
  7. if(document.all)  
  8. {  
  9. elementArray=document.all;  
  10. }  
  11. else  
  12. {  
  13. elementArray=document.getElementsByTagName("*");  
  14. }  
  15. varmatchedArray=[];  
  16. varpattern=newRegExp("(^|)"+theClass+"(|$)");  
  17. for(vari=0;i<elementArray.length;i++)  
  18. {  
  19. if(pattern.test(elementArray[i].className))  
  20. {  
  21. matchedArray[matchedArray.length]=elementArray[i];  
  22. }  
  23. }  
  24. returnmatchedArray;  
  25. };  
  26.  

 #p#三:操縱DOM樹

parentNode:父元素。

childNodes:子元素。

firstChild:***個節點。

lastChild:***一個節點。

nextSibling:下一個同級節點。

previousSinbling:上一個同級節點。下面看一下Javascript Dom編程中的屬性用法。

Javascript Dom編程之操縱DOM樹

四:屬性

A:獲得屬性值(getAttribute)

  1. <aidaid="koko"href="http://www.163.com">163</a> 
  2.  
  3. //js  
  4.  
  5. varkoko=document.getElementById("koko");  
  6.  
  7. varkokoHref=koko.getAttribute("href");  
  8.  

 注:getAttribute不能用document對象調用。

B:設置屬性值(setAttribute)

setAttribute不但可以修改現有屬性的值,而且可以添加新的屬性,類似getAttribute,它不能通過document調用,只能通過元素節點來調用。需要傳遞兩個參數:

obiect.setAttribute(attribute,value)

例子

  1. varkoko=document.GetElementById("koko");  
  2.  
  3. koko.setAttribute("title","websiteinchina");  

#p#五:javascript與樣式

A:style.style

Javascript Dom編程中中每一個元素節點都包含一個style.style,來改變此元素的呈現。

例:改變元素文本的顏色用style.Color

  1. Varscarlet=document.getElementById("scarlet");  
  2.  
  3. scarlet.style.Color="#FF0000";  

B:使用class改變樣式

在css中,內嵌的樣式表被看做是不好的習慣,那么***的改變元素呈現的方法就是使用javascript改變元素的class。

首先我們判斷是否含有要改變的class。

  1. Core.hasClass=function(target,theClass)  
  2. {  
  3. varpattern=newRegExp("(^|)"+theClass+"(|$)");  
  4.  
  5. if(pattern.test(target.className))  
  6. {  
  7. returntrue;  
  8. }  
  9. returnfalse;  
  10. };  
  11.  

 1:添加class

  1. Core.addClass=function(target,theClass)  
  2. {  
  3. if(!Core.hasClass(target,theClass))  
  4. {  
  5. if(target.className=="")  
  6. {  
  7. target.className=theClass;  
  8. }  
  9. else  
  10. {  
  11. target.className+=""+theClass;  
  12. }  
  13. }  
  14. };  
  15.  

 2:清除class

  1. Core.removeClass=function(target,theClass)  
  2. {  
  3. varpattern=newRegExp("(^|)"+theClass+"(|$)");  
  4. targettarget.className=target.className.replace(pattern,"$1");  
  5. targettarget.className=target.className.replace(/$/,"");  
  6. };  
  7.  

【編輯推薦】

  1. 技術分享 如何獲取Dom元素的X/Y坐標
  2. JQuery創建DOM元素方法解析
  3. JavaScript獲取HTML DOM節點元素詳解
  4. JavaScript和DOM輕松實現數據訪問
  5. HTML DOM與XML DOM的區別與聯系探究

 

責任編輯:佚名 來源: cnblogs.com
相關推薦

2015-08-11 09:46:26

JavaScriptDOM編程重排

2010-09-08 17:26:46

JavaScript

2021-05-26 05:22:09

Virtual DOMSnabbdom虛擬DOM

2011-03-10 14:19:56

JavaScript

2010-09-13 14:24:17

JavaScript

2010-09-13 17:12:55

JavaScript

2021-07-27 22:56:00

JavaScript編程開發

2009-07-14 11:34:42

MyEclipse斷點JavaScript

2009-07-22 15:21:00

iBATIS SQLM

2017-07-19 14:26:01

前端JavaScriptDOM

2010-09-10 16:21:58

JavaScript

2016-10-19 14:35:20

JavaScript函數式編程

2010-09-30 15:19:33

2009-09-24 17:01:06

Javascript獲

2016-09-06 21:37:41

2011-03-07 09:41:10

JavaScript

2021-02-07 22:59:55

JavaScript編程方法鏈

2009-07-24 17:30:37

Javascript閉

2010-07-13 17:18:29

Perl面向對象編程

2022-07-20 08:04:06

net包DNScontext
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人免费淫片aa视频免费 | 日韩av啪啪网站大全免费观看 | 国产精品日女人 | 久久网国产| 精品一二三区 | a在线免费观看视频 | 成人av鲁丝片一区二区小说 | 亚洲精品一区国产精品 | 亚州精品天堂中文字幕 | 欧洲免费毛片 | 国产日韩欧美激情 | 成人在线免费观看视频 | 精品欧美一区二区三区久久久 | 日韩在线视频一区二区三区 | 午夜天堂精品久久久久 | 免费看大片bbbb欧美 | 亚洲精品视频一区二区三区 | www.av在线| 精品麻豆剧传媒av国产九九九 | 亚洲欧美第一视频 | 免费观看成人性生生活片 | 99在线免费观看视频 | 日本一区二区不卡 | 男女羞羞视频在线免费观看 | 福利片在线 | 天天搞夜夜操 | 久久精品视频99 | 亚洲v区| 国产精品伦一区二区三级视频 | 欧美日韩亚洲一区 | 亚洲日本欧美 | 丁香婷婷综合激情五月色 | 97caoporn国产免费人人 | 国产一极毛片 | 久久精品亚洲精品国产欧美 | 亚洲一av | 在线视频h| 亚洲网站在线观看 | 国产激情视频在线观看 | 精品在线视频播放 | 亚州精品成人 |