在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js array有多長(zhǎng),就產(chǎn)生幾個(gè)img tag

js array有多長(zhǎng),就產(chǎn)生幾個(gè)img tag

需求是

依照array中有幾個(gè)網(wǎng)址 就產(chǎn)生幾個(gè) img tag

例如:

abc = ['www.aa.com','www.bb.com']

產(chǎn)生
<img src="www.aa.com">
<img src="www.bb.com">

小弟js新手 不太知道如何寫

我只會(huì)用for把所有array內(nèi)容塞進(jìn)去img的src

但要產(chǎn)生數(shù)個(gè)img tag就卡住了...

各位高手有方法嗎

回答
編輯回答
扯機(jī)薄

元素/tag是可以用js動(dòng)態(tài)創(chuàng)建并插入到網(wǎng)頁(document)中的,具體搜索document.createElement,但這樣會(huì)影響性能,當(dāng)然你初學(xué)的話可以不用管性能。然后還有第二種方法,可以使用js動(dòng)態(tài)修改元素內(nèi)包裹的內(nèi)容,比如<div></div>中的內(nèi)容,是可以用js動(dòng)態(tài)修改的,你可以把里面的文本改為你想要的任何東西,包括img,具體搜索innerHTML

如果繼續(xù)深入的話,你會(huì)發(fā)現(xiàn)用js生成一個(gè)重復(fù)的內(nèi)容挺麻煩的,所以有人搞出了“模板”這種東西,干這種事情會(huì)方便點(diǎn),可以搜索vue,不過vue不是一種模板,只是它使用了一種模板的語法可以供你參考。

2018年1月11日 05:07
編輯回答
凹凸曼

具體的實(shí)現(xiàn)可以這樣。

let arrUrls = ['www.aa.com', 'www.bb.com'];
// 使用 fragment 作為中間體,將UI更新的次數(shù)降至最低的一次,減少消耗。
let fragment = document.createDocumentFragment();

let hImg = null
arrUrls.forEach((u) => {
  hImg = document.createElement('img');
  hImg.src = u;
  fragment.appendChild(hImg);
});

// 假設(shè) document.body 是你需要將圖片放置的父元素。
document.body.appendChild(fragment);
2017年1月14日 07:41
編輯回答
哚蕾咪
let abc = ['www.aa.com','www.bb.com'];

let imgs=abc.map((v)=> `<img src="${v}">`).join("");

const append = (el,html) =>{
     let   divTemp = document.createElement("div"),
           fragment = document.createDocumentFragment();
           divTemp.innerHTML= html;
           for (let node of divTemp.childNodes) {
               fragment.appendChild(node.cloneNode(true));
           }
      return el.appendChild(fragment);
};

append(document.body,imgs)
2017年10月5日 15:42