摘要:兼容性簡直神器有木有所以我們寫一個這樣的方法吧實現(xiàn)操作然后只需要傳對應(yīng)參數(shù)就好了如此簡單接著是方法在這我只做刪除自身節(jié)點就沒繼續(xù)拓展了大家可以自行完善只能刪除自身您給予的就是給代碼賦予靈魂地址可想實現(xiàn)一個自己的簡單庫七
Lesson-7
新增 html,append,before,after,remove
html: function (value) { if (value === undefined) { return this[0].innerHTML; } else { for (var i = 0; i < this.length; i++) { this[i].innerHTML = value; } } return this; }
html()方法我就用了這種很愚蠢的方法實現(xiàn)了!比起之前的data,attr,css什么的簡單多了,大家可以自己繼續(xù)完善.
接著是我們的重頭戲,3個文檔插入.我找到了一個原生js叼叼的方法
insertAdjacentHTML 來讓我們?nèi)タ聪翸DN是怎么解釋的
概述語法insertAdjacentHTML() 將指定的文本解析為 HTML 或 XML,然后將結(jié)果節(jié)點插入到 DOM 樹中的指定位置處。該方法不會重新解析調(diào)用該方法的元素,因此不會影響到元素內(nèi)已存在的元素節(jié)點。從而可以避免額外的解析操作,比直接使用 innerHTML 方法要快。
element.insertAdjacentHTML(position, text);
position 是相對于 element 元素的位置,并且只能是以下的字符串之一:
beforebegin
在 element 元素的前面。
afterbegin
在 element 元素的第一個子節(jié)點前面。
beforeend
在 element 元素的最后一個子節(jié)點后面。
afterend
在 element 元素的后面。
text 是字符串,會被解析成 HTML 或 XML,并插入到 DOM 樹中。
Chrome | Firefox | IE | Opera | Safari |
---|---|---|---|---|
1.0 | 8.0 | 4.0 | 7.0 | 4.0 |
簡直神器有木有?!
所以我們寫一個這樣的方法吧!
function domAppend(elm, type, str) { //實現(xiàn)append、after、before操作 elm.insertAdjacentHTML(type, str); }
然后只需要傳對應(yīng)參數(shù)就好了!如此簡單
append: function (str) { for (var i = 0; i < this.length; i++) { domAppend(this[i], "beforeend", str); } return this; }, before: function (str) { for (var i = 0; i < this.length; i++) { domAppend(this[i], "beforeBegin", str); } return this; }, after: function (str) { for (var i = 0; i < this.length; i++) { domAppend(this[i], "afterEnd", str); } return this; }
接著是remove方法,在這我只做刪除自身節(jié)點,就沒繼續(xù)拓展了.大家可以自行完善
remove: function () { //只能刪除自身 for (var i = 0; i < this.length; i++) { this[i].parentNode.removeChild(this[i]); } return this; }
您給予的star,就是給代碼賦予靈魂.
github地址: https://github.com/MeCKodo/forchange/tree/master/lesson-7
可想實現(xiàn)一個自己的簡單jQuery庫?(七):http://segmentfault.com/a/1190000004018813
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/49652.html
摘要:兼容性簡直神器有木有所以我們寫一個這樣的方法吧實現(xiàn)操作然后只需要傳對應(yīng)參數(shù)就好了如此簡單接著是方法在這我只做刪除自身節(jié)點就沒繼續(xù)拓展了大家可以自行完善只能刪除自身您給予的就是給代碼賦予靈魂地址可想實現(xiàn)一個自己的簡單庫七 Lesson-7 新增 html,append,before,after,remove html: function (value) { if (value ...
摘要:事件機(jī)制在講事件機(jī)制之前呢我們有一個很重要的東西要先講那就是如何實現(xiàn)事件委托代理只有必須先明白了如何實現(xiàn)一個事件委托我們才能更好的去實現(xiàn)和在我看來和里最難實現(xiàn)的就是他的事件委托以上是我對整個委托的實現(xiàn)當(dāng)然在這只做了非常簡單的實現(xiàn)沒有對很多 Lesson-8 事件機(jī)制 在講事件機(jī)制之前呢,我們有一個很重要的東西要先講,那就是如何實現(xiàn)事件委托(代理). 只有必須先明白了如何實現(xiàn)一個事件委...
摘要:事件機(jī)制在講事件機(jī)制之前呢我們有一個很重要的東西要先講那就是如何實現(xiàn)事件委托代理只有必須先明白了如何實現(xiàn)一個事件委托我們才能更好的去實現(xiàn)和在我看來和里最難實現(xiàn)的就是他的事件委托以上是我對整個委托的實現(xiàn)當(dāng)然在這只做了非常簡單的實現(xiàn)沒有對很多 Lesson-8 事件機(jī)制 在講事件機(jī)制之前呢,我們有一個很重要的東西要先講,那就是如何實現(xiàn)事件委托(代理). 只有必須先明白了如何實現(xiàn)一個事件委...
閱讀 878·2021-11-18 10:07
閱讀 2385·2021-10-14 09:42
閱讀 5425·2021-09-22 15:45
閱讀 622·2021-09-03 10:29
閱讀 3514·2021-08-31 14:28
閱讀 1916·2019-08-30 15:56
閱讀 3071·2019-08-30 15:54
閱讀 1021·2019-08-29 11:32