整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          JavaScript基礎(chǔ)知識:HTML DOM文檔對象模型

          過標(biāo)簽名查找HTML元素,通過id超找html元素,通過雷鳴查找html元素。

          改變HTML:改變html輸出流,在js中,document。write()可用于直接向html輸出流寫內(nèi)容。改變HTML內(nèi)容:如果改變元素內(nèi)容,document.getElementById(id).innerHTML=新的 HTML。改變 HTML 屬性,如需改變 HTML 元素的屬性,請使用這個語法:

          document.getElementById(id).attribute=新屬性值。

          改變CSS:首先改變html元素樣式:document.getElementById(id).style.property=新樣式

          使用事件:允許我們通過觸發(fā)事件來執(zhí)行代碼,比如以下事件:元素被點(diǎn)擊,頁面加載,輸入框被修改。當(dāng)鼠標(biāo)移動到元素上時,當(dāng)輸入字段被改變時,當(dāng)提交html表單時,當(dāng)用戶觸發(fā)按鍵時。

          onload和onunload事件會在用戶進(jìn)入或離開頁面時被觸發(fā)。可用于處理cookie

          onchange事件常結(jié)合對輸入字段的驗(yàn)證來使用。

          onmousedown,onmouseup以及onclick事件。首先當(dāng)點(diǎn)擊按鈕時,會觸發(fā)onmousedown事件,當(dāng)釋放鼠標(biāo)按鈕時,會觸發(fā)onmouseup事件,最后,當(dāng)鼠標(biāo)點(diǎn)擊時,會觸發(fā)onclick事件。

          TML DOM INPUT FILE 大文件上傳解決方案,HTML5大文件上傳解決方案,HTML5大文件上傳源代碼,HTML5大文件上傳源碼,HTML5大文件上傳代碼,HTML5大文件上傳技術(shù),HTML5大文件上傳技巧,HTML5大文件上傳配置,HTML5大文件上傳方法,HTML5大文件上傳原理,HTML5大文件上傳教程,HTML5大文件上傳視頻,javascript大文件上傳技術(shù),vue大文件上傳技術(shù),dom大文件上傳技術(shù),input file大文件上傳技術(shù),

          用戶上傳的文件比較大,有20G左右,直接用HTML傳的話容易失敗,服務(wù)器也容易出錯,需要分片,分塊,分割上傳。也就是將一個大的文件分成若干個小文件塊來上傳,另外就是需要實(shí)現(xiàn)秒傳功能和防重復(fù)功能,秒傳就是用戶如果上傳過這個文件,那么直接在數(shù)據(jù)庫中查找記錄就行了,不用再上傳一次,節(jié)省時間,實(shí)現(xiàn)的思路是對文件做MD5計算,將MD5值保存到數(shù)據(jù)庫,算法可以用MD5,或者CRC,或者SHA1,這個隨便哪個算法都行。

          分片還需要支持?jǐn)帱c(diǎn)續(xù)傳,現(xiàn)在HTML5雖然提供了信息記錄功能,但是只支持到了會話級,也就是用戶不能關(guān)閉瀏覽器,也不能清空緩存。但是有的政府單位上傳大文件,傳了一半下班了,明天繼續(xù)傳,電腦一關(guān)結(jié)果進(jìn)度信息就丟失了,這個是他們的一個痛點(diǎn)。

          切片的話還有一點(diǎn)就是在服務(wù)器上合并,一個文件的所有分片數(shù)據(jù)上傳完后需要在服務(wù)器端進(jìn)行合并操作。

          聊下HTML5吧,怎么說呢,HTML5也就是chrome提供的一個API來實(shí)現(xiàn)文件分片,反正基本的需求,小文件用是能用,但是用起來多多少少還是有點(diǎn)別扭,擴(kuò)展性,安全性,穩(wěn)定性用戶那陣都不太滿意,關(guān)鍵是什么,我們是沒辦法對HTML5進(jìn)行擴(kuò)展,個性化和定制化開發(fā)的,基本上被谷歌給限制死了,這也是現(xiàn)在國產(chǎn)化的意義,希望能夠打破這個限制。不然公司的一些產(chǎn)品和業(yè)務(wù)不太好開展,總不能用戶提個需求,我們就說谷歌Chrome沒提供API,所我們就無法開發(fā)吧。這不是跟客戶扯呢。

          1.下載示例

          https://gitee.com/xproer/up6-vue-cli



          將up6組件復(fù)制到項(xiàng)目中

          示例中已經(jīng)包含此目錄



          1.引入up6組件



          2.配置接口地址

          接口地址分別對應(yīng):文件初始化,文件數(shù)據(jù)上傳,文件進(jìn)度,文件上傳完畢,文件刪除,文件夾初始化,文件夾刪除,文件列表

          參考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de



          3.處理事件



          啟動測試



          啟動成功



          效果



          數(shù)據(jù)庫



          源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra

          源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl

          OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a

          控件源碼下載:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc

          過 HTML DOM,您能夠使用節(jié)點(diǎn)關(guān)系在節(jié)點(diǎn)樹中導(dǎo)航。


          HTML DOM 節(jié)點(diǎn)列表

          getElementsByTagName() 方法返回節(jié)點(diǎn)列表。節(jié)點(diǎn)列表是一個節(jié)點(diǎn)數(shù)組。

          下面的代碼選取文檔中的所有 <p> 節(jié)點(diǎn):

          實(shí)例

          varx=document.getElementsByTagName("p");

          可以通過下標(biāo)號訪問這些節(jié)點(diǎn)。如需訪問第二個 <p>,您可以這么寫:

          y=x[1];

          嘗試一下 ?

          注意:

          下標(biāo)號從 0 開始。


          HTML DOM 節(jié)點(diǎn)列表長度

          length 屬性定義節(jié)點(diǎn)列表中節(jié)點(diǎn)的數(shù)量。

          您可以使用 length 屬性來循環(huán)節(jié)點(diǎn)列表:

          實(shí)例

          x=document.getElementsByTagName("p");for(i=0;i<x.length;i++){document.write(x[i].innerHTML); document.write("<br>");}

          實(shí)例解析:

          • 獲取所有 <p> 元素節(jié)點(diǎn)

          • 輸出每個 <p> 元素的文本節(jié)點(diǎn)的值


          導(dǎo)航節(jié)點(diǎn)關(guān)系

          您能夠使用三個節(jié)點(diǎn)屬性:parentNode、firstChild 以及 lastChild ,在文檔結(jié)構(gòu)中進(jìn)行導(dǎo)航。

          請看下面的 HTML 片段:

          <html><head><metacharset="utf-8"></head><body><p>Hello World!</p><div><p>DOM 是非常有用的!</p><p>這個實(shí)例演示了節(jié)點(diǎn)的關(guān)系。</p></div></body></html>

          • 首個 <p> 元素是 <body> 元素的首個子元素(firstChild)

          • <div> 元素是 <body> 元素的最后一個子元素(lastChild)

          • <body> 元素是首個 <p> 元素和 <div> 元素的父節(jié)點(diǎn)(parentNode)

          firstChild 屬性可用于訪問元素的文本:

          實(shí)例

          <pid="intro">Hello World!</p><script>x=document.getElementById("intro");document.write(x.firstChild.nodeValue);</script>

          嘗試一下 ?


          DOM 根節(jié)點(diǎn)

          這里有兩個特殊的屬性,可以訪問全部文檔:

          • document.documentElement - 全部文檔

          • document.body - 文檔的主體

          實(shí)例

          <p>Hello World!</p><div><p>DOM 是非常有用的!</p><p>這個實(shí)例演示了 <b>document.body</b> 屬性。</p></div><script>alert(document.body.innerHTML);</script>

          嘗試一下 ?


          childNodes 和 nodeValue

          除了 innerHTML 屬性,您也可以使用 childNodes 和 nodeValue 屬性來獲取元素的內(nèi)容。

          下面的代碼獲取 id="intro" 的 <p> 元素的值:

          實(shí)例

          <pid="intro">Hello World!</p><script>txt=document.getElementById("intro").childNodes[0].nodeValue;document.write(txt);</script>

          嘗試一下 ?

          在上面的例子中,getElementById 是一個方法,而 childNodes 和 nodeValue 是屬性。


          主站蜘蛛池模板: 91久久精品一区二区| 中文字幕人妻丝袜乱一区三区| 亚洲国产系列一区二区三区| 亚洲一区无码精品色| 亚欧色一区W666天堂| 91久久精品午夜一区二区| 国产伦精品一区二区三区不卡 | 中文字幕av人妻少妇一区二区 | 久久4k岛国高清一区二区| 97久久精品无码一区二区天美 | 亚洲精品国产suv一区88| 精品无码日韩一区二区三区不卡| 久久一区二区三区99| 精品国产福利第一区二区三区| 无码AV中文一区二区三区| 中文字幕一区一区三区| 国产裸体舞一区二区三区| 国产精品自在拍一区二区不卡| 无码一区二区三区| 日韩国产免费一区二区三区| 视频在线一区二区| 精品无码国产一区二区三区AV| 精品国产精品久久一区免费式| 一区二区三区免费在线视频 | 少妇无码一区二区三区| 台湾无码一区二区| 无码人妻久久一区二区三区蜜桃 | 精品在线一区二区三区| 色婷婷综合久久久久中文一区二区| 久久久91精品国产一区二区| 国产精品视频免费一区二区| 久久精品一区二区国产| 国产品无码一区二区三区在线| 国产精品亚洲产品一区二区三区| 伊人久久精品无码麻豆一区| 成人精品一区二区三区不卡免费看 | 搜日本一区二区三区免费高清视频 | 无码人妻精品一区二区三区久久久| 日亚毛片免费乱码不卡一区| 呦系列视频一区二区三区| 精品人妻中文av一区二区三区|