日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

javascript+dom

發(fā)布時間:2025/7/14 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript+dom 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

JS中的全局函數(shù)

全局函數(shù):JS中提供部分的函數(shù),不需要任何對象,可以直接通過函數(shù)名在代碼使用。

URL:統(tǒng)一資源定位符
瀏覽器地址欄中輸入的信息
http://www.itheima.com:80/index.jsp?name=zhangsan&password=123

URI:統(tǒng)一資源標識符
URI表示的資源數(shù)據(jù)不具體 index.jsp 稱為一個URI

BOM對象介紹

BOM:browser object model 瀏覽器對象模型,把當前的瀏覽器看成一個對象。
通過瀏覽器對象可以獲取和瀏覽器相關的所有信息。
1.window對象:

是javascript層級中的頂層對象
Window對象有瀏覽器在加載到body或者frameset標簽的時候由JS引擎自動創(chuàng)建。我們在JS代碼中可以直接使用,使用window。

window對象中的屬于:

專門獲取window中包含的其他對象:
document 獲取瀏覽器加載的html文件對象
history 獲取瀏覽器中的歷史記錄對象
location 瀏覽器的地址欄對象
navigator 瀏覽器對象
screen 瀏覽器窗口在顯示器屏幕上的相關對象

setInterval("函數(shù)名",毫秒值) 在指定的毫秒值之后重復執(zhí)行當前指定的這個函數(shù)clearInterval()清除重復執(zhí)行的動作setTimeout("函數(shù)名",毫秒值)在制定的毫秒值后只執(zhí)行一次某個函數(shù)clearTimeout()清除指定的執(zhí)行動作open() 打開一個新窗口close() 關閉打開的新窗口

2.history對象:

它是javascript對象,不是html dom對象
History對象是有javascript runtime engine 自動創(chuàng)建,由一系列的URL組成的,這些URL是瀏覽器口內(nèi)已訪問的URL。
唯一保持使用的功能只有back(),forward()和go()方法。

3.Location對象:

包含當前URL的信息

4.navigator對象:

可以訪問系統(tǒng),瀏覽器的信息。

DOM對象

DOM:Document Object Model 文檔對象模型。
文檔:html文件。但是后期也可能是xml文檔
當瀏覽器把一個html文件加載到內(nèi)存中,這時就會在內(nèi)存中得到一個關于當前這個html文件的對象,這個對象就是DOM對象。

DOM對象的標準:由W3C指定,它規(guī)定如何通過JS技術來解析當前加載的這個html文件中的所有標簽,以及標簽中的屬性,還有標簽中封裝的文本數(shù)據(jù)。

當我們?nèi)ソ馕鲆粋€html文件的時候,解析到的標簽稱為標簽對象(元素節(jié)點)、標簽上的屬性稱為屬性對象(屬性節(jié)點)、標簽中的文本稱為文本對象(文本節(jié)點)。

  • JavaScript 能夠改變頁面中的所有 HTML 元素
  • JavaScript 能夠改變頁面中的所有 HTML 屬性
  • JavaScript 能夠改變頁面中的所有 CSS 樣式
  • JavaScript 能夠?qū)撁嬷械乃惺录龀龇磻?/li>
  • 對 HTML DOM 事件對出反應
  • 如何添加或刪除 HTML 元素

DOM獲取元素(標簽)節(jié)點:

getElementById(): 是根據(jù)頁面上的標簽的id屬性值。獲取當前某個標簽對象當獲取到一個html頁面中的標簽對象之后,當前這個標簽對象的具體操作需要查閱DHTML文檔getElementsByName() :根據(jù)頁面上標簽上的name屬性的值,獲取當前頁面上的標簽對象由于標簽的name屬性的值可能重復,因此獲取到的一個數(shù)組getElementsByTagName():根據(jù)標簽的名稱獲取標簽對象,由于頁面上會出現(xiàn)同名的標簽,因此獲取到一定也是一個數(shù)組

改變 HTML 輸出流:
在 JavaScript 中,document.write() 可用于直接向 HTML 輸出流寫內(nèi)容。

改變 HTML 內(nèi)容:

ent.getElementById(id).innerHTML=new HTML

改變 HTML 屬性:

document.getElementById(id).attribute=new value

改變 HTML 樣式:

document.getElementById(id).style.property=new style

HTML DOM 事件

onclick=JavaScript
  • 當用戶點擊鼠標時
  • 當網(wǎng)頁已加載時
  • 當圖像已加載時
  • 當鼠標移動到元素上時
  • 當輸入字段被改變時
  • 當提交 HTML 表單時
  • 當用戶觸發(fā)按鍵時

JS中的事件

給頁面上的標簽綁定事件對應的函數(shù)的2種方式:
1、直接在頁面上的標簽上書寫事件名稱,然后給名稱的屬性值綁定JS函數(shù)名
2、在頁面加載完成之后,通過js和dom技術獲取到這個標簽對象,然后動態(tài)給這個標簽綁定事件

<script type="text/javascript">//直接在頁面上的標簽上綁定事件function _click(){var input = document.getElementById("username");if( input.value == "請輸入用戶名"){input.value="";}}//動態(tài)的給頁面上的標簽綁定事件//必須在頁面架子完成之后綁定事件/*JS中的正則對象:JS中創(chuàng)建正則對象可以直接new,還可以使用/正則表達式/var reg = new RegExp("正則表達式");var reg2 = /正則表達式/;*/window.onload = function(){document.getElementById("username").onblur = function(){//在事件中可以使用this關鍵字,this表示的是當前發(fā)生事件的哪個標簽對象var value = this.value;var reg = new RegExp("^\\w{6,12}$");if( reg.test(value) ){document.getElementById("nameSpan").innerHTML = "用戶名正確".fontcolor("green");}else{document.getElementById("nameSpan").innerHTML = "用戶錯誤".fontcolor("red");}} } </script>

dom中的創(chuàng)建和添加方法 function demo(){//獲取頁面上的div標簽對象var div = document.getElementById("div");//div.innerHTML = "添加數(shù)據(jù)";//使用dom技術動態(tài)先在內(nèi)存中創(chuàng)建出一個文本對象var text = document.createTextNode("數(shù)據(jù)");//把文本標簽對象條件到div中div.appendChild(text);}function demo2(){var div = document.getElementById("div");//div.innerHTML = "<a href='http://www.itheima.com'>黑馬</a>";//創(chuàng)建a標簽對象var a = document.createElement("a");//<a></a>a.innerHTML = "黑馬"; //<a>黑馬</a> //給a標簽上添加屬性a.setAttribute("href","http://www.itheima.com");//<a href='http://www.itheima.com'>黑馬</a> div.appendChild(a);}

dom中的刪除、克隆、替換方法 //刪除頁面上的id為two 的 divfunction demo(){var two = document.getElementById("two");//刪除的時候必須獲取當前標簽的父標簽,才能刪除自己var body = two.parentNode;//刪除當前div標簽對象//獲取 id為 one的div 使用兄弟標簽獲取var one = two.previousSibling;body.removeChild(one);}//替換function demo2(){//使用id為one的div替換id為two的divvar two = document.getElementById("two");var one = document.getElementById("one");//獲取父標簽var body = two.parentNode;body.replaceChild(one, two);}//克隆替換function demo3(){//使用id為one的div替換id為two的divvar two = document.getElementById("two");var one = document.getElementById("one");//獲取父標簽var body = two.parentNode;//克隆出id為one的div標簽var cloneOne = one.cloneNode(true);body.replaceChild(cloneOne, two);}

JSON格式數(shù)據(jù)

JSON格式的數(shù)據(jù)表現(xiàn)形式:
第一種格式:
{
key:value,
key:value,
key:value
}
JSON格式中的數(shù)據(jù)的key必須是字符串value值可以是任意類型的數(shù)據(jù)

第二種格式:
[
{ key:value , key:value },
{ key:value , key:value },
{ key:value , key:value }]
/*
json的第一種格式:
var json = {key:value,key:value}
可以根據(jù)指定的json對象,調(diào)用它的key,得到對應的value
調(diào)用的方式:
格式1:對象.key 獲取到key對應的value
格式2:對象["key"] 獲取到key對應的value

如果要遍歷json個數(shù)的所有數(shù)據(jù),需要使用循環(huán)for in循環(huán)====================================================Java中的foreach 遍歷容器:for( 容器中的數(shù)據(jù)類型 變量名 : 容器名 ){變量空間中保持的是容器中的某個元素數(shù)據(jù)} ====================================================JS中的for in格式for( var 變量 in 數(shù)組|對象|json ){如果是數(shù)組的話,變量是數(shù)組的下標如果是json個數(shù)數(shù)據(jù),變量是key值如果是對象,變量是對象中的某個屬性或者方法名} var arr = [4,2,7,9,0,11];for( var i in arr){alert(arr[i]);}*/var json = {"name":"林青霞","age":26,"address":"東莞","sex":"不詳","student":{"name":"風清揚","age":32,"address":"西安",}};//for in循環(huán)是用來遍歷對象或json的for( var j in json ){document.write(j +":"+json[j]+"<br/>");for( var i in json[j] ){document.write(i +":"+json[j][i]+"<br/>");}}var json2 = [{"name":"黑馬","age":"5"}];alert(json2[0].name);

注意:var j ; json.j;//這格式是錯誤的,j是變量,不能這樣使用json.j訪問該json的屬性值。

posted @ 2015-08-25 22:13 beyondbycyx 閱讀(...) 評論(...) 編輯 收藏 刷新評論刷新頁面返回頂部

轉(zhuǎn)載于:https://www.cnblogs.com/beyondbycyx/p/4758861.html

總結

以上是生活随笔為你收集整理的javascript+dom的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。