第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 Javascript 分層附加 DOM 元素

使用 Javascript 分層附加 DOM 元素

猛跑小豬 2022-10-21 09:39:11
我正在為自己創(chuàng)建一個(gè)投資組合網(wǎng)站。為了加快添加更多照片的過程并以這種方式自動(dòng)維護(hù)它,而不是每次都添加新的 HTML,我正在創(chuàng)建一個(gè)腳本,以便自動(dòng)將指定文件夾的圖像內(nèi)容添加到圖庫中。我找到了一個(gè)我正在使用的模板,該模板適用于準(zhǔn)系統(tǒng)入門網(wǎng)站,并且目前正在對(duì)其進(jìn)行自定義以更好地滿足我的需求。他們用于維護(hù)允許基于主題等進(jìn)行圖像過濾的流體盒/畫廊的模板如下:<div class="item landscape col-6 col-sm-6 col-md-6 col-lg-4 col-xl-4 mb-4">        <a href="images/landscape/land_01.jpg" class="item-wrap fancybox">          <span class="icon-search2"></span>          <img class="img-fluid" src="images/landscape/land_01.jpg">        </a></div>我可以在其中指定第二類標(biāo)簽以確定如何過濾它,并更新href鏈接的 和src圖像的 ,以便將其設(shè)置為文件夾中的下一張照片。但是,現(xiàn)在我遇到了讓我的 Javascript 創(chuàng)建具有此層次結(jié)構(gòu)的元素的問題。目前我設(shè)計(jì)的腳本是這樣的:var outer = document.createElement("div");outer.className = "item landscape col-6 col-sm-6 col-md-6 col-lg-4 col-xl-4 mb-4";var reference = document.createElement('a');reference.href = "images/landscape/land_02.jpg";reference.className = "item-wrap fancybox";reference.innerHTML = "Test";var spanner = document.createElement("SPAN");spanner.className = "icon-search2";var thepic = document.createElement("IMG");thepic.className = "img-fluid";thepic.src = "images/landscape/land_02.jpg";reference.appendChild("spanner");reference.appendChild("thepic");outer.appendChild("reference");var container = document.getElementById("posts");container.appendChild(thepic);然而,這始終給我一個(gè)錯(cuò)誤Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.,我已經(jīng)研究了這個(gè)錯(cuò)誤,當(dāng)我簡(jiǎn)化腳本以僅將鏈接附加到容器元素時(shí),這有效,但是每當(dāng)我嘗試附加到我嘗試使用 Javascript 創(chuàng)建的 DOM 元素時(shí),它都失敗了.我將不勝感激你們可以提供的任何幫助!
查看完整描述

2 回答

?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

您的代碼存在多個(gè)問題。


首先,在引用變量時(shí),您使用的是帶有名稱的字符串。這是錯(cuò)誤的,您可以而且應(yīng)該只使用它而不使用引號(hào)。像這樣:


reference.appendChild("spanner");

reference.appendChild("thepic");

outer.appendChild("reference");

應(yīng)該


reference.appendChild(spanner);

reference.appendChild(thepic);

outer.appendChild(reference);

其次,更重要的是,您可能應(yīng)該使用一些模板引擎來做這類事情。手動(dòng)更換會(huì)很快變得很麻煩。你不必使用現(xiàn)代和花哨的框架(如 React、Angular、Vue 等)來做到這一點(diǎn)。例如,您可以檢查https://github.com/janl/mustache.js或https://ejs.co/ 之類的內(nèi)容,讓您的生活更輕松。


查看完整回答
反對(duì) 回復(fù) 2022-10-21
?
侃侃無極

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊

通過多行字符串和變量插值,您可以直接在代碼中使用 HTML。插入方法是insertAdjacentHTML。


const clss = "landscape";

const src = "images/landscape/land_01.jpg";

const href = "images/landscape/land_01.jpg";


const html = `<div class="item ${clss} col-6 col-sm-6 col-md-6 col-lg-4 col-xl-4 mb-4">

        <a href="${href}" class="item-wrap fancybox">

          <span class="icon-search2"></span>

          <img class="img-fluid" src="${src}">

        </a>

</div>`


const container = document.getElementById("container");

container.insertAdjacentHTML("beforeend", html);

alert(container.outerHTML);

<div id="container">the container</div>


查看完整回答
反對(duì) 回復(fù) 2022-10-21
  • 2 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)