成人免费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

2011-03-10 14:19:56

JavaScript

2021-05-26 05:22:09

Virtual DOMSnabbdom虛擬DOM

2010-09-13 14:24:17

JavaScript

2010-09-13 17:12:55

JavaScript

2009-07-22 15:21:00

iBATIS SQLM

2021-07-27 22:56:00

JavaScript編程開發

2009-07-14 11:34:42

MyEclipse斷點JavaScript

2017-07-19 14:26:01

前端JavaScriptDOM

2010-09-10 16:21:58

JavaScript

2022-07-20 08:04:06

net包DNScontext

2009-07-24 18:02:46

ASP.NET編程

2009-08-27 14:12:02

C# interfac

2011-03-07 09:41:10

JavaScript

2021-02-07 22:59:55

JavaScript編程方法鏈

2009-07-24 17:30:37

Javascript閉

2010-09-28 12:59:45

JavaScriptDOM

2010-09-28 14:52:57

JavaScriptDOM

2010-09-28 15:27:09

JavaScript
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品美女久久久久久久久久久 | 91影院在线观看 | 欧美 日韩 中文 | 国产免费一区二区三区最新6 | 亚洲精品久久久一区二区三区 | 欲色av | 久久久久国产一区二区三区 | 色站综合| 欧美三级电影在线播放 | 亚洲精品久久久一区二区三区 | 中文字幕 欧美 日韩 | 国产精品久久久久久久久免费相片 | 国产视频一视频二 | 女人精96xxx免费网站p | 欧美精品一区二区免费 | 日韩av一区二区在线观看 | 国产1区在线 | www国产成人免费观看视频,深夜成人网 | 成人在线视频免费看 | 国产综合精品一区二区三区 | 日韩中文一区二区三区 | 亚洲情侣视频 | 这里只有精品99re | 欧美日韩专区 | 午夜小视频免费观看 | 三级黄色片在线 | 国产精品一级 | av片免费观看 | 午夜影院在线观看 | 美国黄色一级片 | 精品日韩一区 | 久久久精品一区 | 亚洲第一色站 | 成人黄色a | 免费在线观看黄视频 | 综合二区 | 日韩一区不卡 | 午夜色播 | 欧美精品一区二区三区四区 | 福利精品 | 久草.com|