JS小技巧之通過(guò)字符串追加元素
JS通過(guò)字符串追加元素
原生JS中通過(guò)動(dòng)態(tài)的創(chuàng)建createElement,但是元素里面內(nèi)容較多,需要innerHTML賦值,在appendChild追加到父元素里面。
如下代碼:
// 動(dòng)態(tài)添加對(duì)象 // 1. 創(chuàng)建元素 var li = document.createElement('li'); // 2. 添加節(jié)點(diǎn) li.innerHTML = text.value; ? // 3.1 將一個(gè)節(jié)點(diǎn)添加到指定父節(jié)點(diǎn)的子節(jié)點(diǎn)列表末尾 ul.appendChild(li); ? // 3.2 將一個(gè)節(jié)點(diǎn)添加到父節(jié)點(diǎn)的指定子節(jié)點(diǎn)前面 ul.insertBefore(li, ul.children[0]);
現(xiàn)在,高級(jí)的做法是利用insertAdjacentHTML()可以直接把字符串格式元素添加到父元素中。
// 這里的ul是父節(jié)點(diǎn) var li = '<li class="liactive"><span>測(cè)試</span></li>'; ul.insertAdjacentHTML('beforeend', li); ? // 第一個(gè)參數(shù)是插入的位置,該參數(shù)有以下四個(gè)值: // beforebegin:插入到元素自身的前面 // afterbegin:插入元素內(nèi)部的第一個(gè)子節(jié)點(diǎn)之前 // beforeend:插入元素內(nèi)部的最后一個(gè)子節(jié)點(diǎn)之后 // afterend:插入到元素自身的后面
如appendChild的方法與insertAdjacentHTML()方法之間的區(qū)別在于:前者不支持追加字符串的子元素,后者支持
JS追加字符串的奇怪問(wèn)題
遇到一個(gè)奇怪的問(wèn)題,JS在向一個(gè)table追加一行信息的時(shí)候tr,td元素全部被過(guò)濾掉了
打印出來(lái)的原始字符串如下圖:
追加以后的結(jié)構(gòu)如下圖:
出現(xiàn)這個(gè)問(wèn)題的主要原因就在于那個(gè)隱藏域上,也就是tr之后多了其它的元素就會(huì)出現(xiàn)這個(gè)問(wèn)題,但至于為什么會(huì)這樣,可能是自己技術(shù)沒(méi)到家哈,理解的不夠,不知道怎么回事
解決很簡(jiǎn)單
把隱藏域放到td里面去就沒(méi)有問(wèn)題了,原理就不知道了,記一下,僅防以后再犯此類錯(cuò)誤
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Iframe 自動(dòng)適應(yīng)頁(yè)面的高度示例代碼
這篇文章主要介紹了Iframe如何自動(dòng)適應(yīng)頁(yè)面的高度,需要的朋友可以參考下2014-02-02JavaScript累加、迭代、窮舉、遞歸等常用算法實(shí)例小結(jié)
這篇文章主要介紹了JavaScript累加、迭代、窮舉、遞歸等常用算法,結(jié)合實(shí)例形式分析了javascript累加、迭代、遞推、窮舉等算法的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-05-05javascript tips提示框組件實(shí)現(xiàn)代碼
一個(gè)簡(jiǎn)單的類似title的提示效果,但現(xiàn)實(shí)內(nèi)容可以很豐富,以上js另存為tip.js,下面是使用的demo。2010-11-11原生JS實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04解決EventSource 刪除單詞的前置空格問(wèn)題記錄
EventSource是HTML5中的一種新的API,用來(lái)實(shí)現(xiàn)服務(wù)器端向客戶端推送事件,相比于常規(guī)的輪詢方式,EventSource可以實(shí)現(xiàn)更加高效、低延遲的數(shù)據(jù)傳輸,這篇文章主要介紹了解決EventSource 刪除單詞的前置空格問(wèn)題記錄,需要的朋友可以參考下2024-03-03圖片該如何優(yōu)化來(lái)提高網(wǎng)站性能
這篇文章主要介紹了圖片該如何優(yōu)化來(lái)提高網(wǎng)站性能,對(duì)網(wǎng)站性能感興趣的同學(xué),可以參考下2021-05-05ionic2 tabs 圖標(biāo)自定義實(shí)例
這篇文章主要介紹了ionic2 tabs 圖標(biāo)自定義,需要的朋友可以參考下2017-03-03淺談webpack性能榨汁機(jī)(打包速度優(yōu)化)
這篇文章主要介紹了淺談webpack性能榨汁機(jī)(打包速度優(yōu)化),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01