JavaScript Day13 - DOM(2)

新增元素

  • createElement():可以创造相关元素,如 div、ul、li
  • appendChild():将元素附加上去
  • 这次发现用 innerHTML 搭配变数也可以达到新增元素的效果,一起提供例子如下

初始的 HTML

<body>
    <div id="main">
    </div>
</body>

目标的 HTML

<body>
    <div id="main">
        <ul>
            <li><a href="#">连结</a></li>
            <li><span>测试</span></li>
        </ul>
    </div>
</body>

JS 的部分

使用 createElement()appendChild() 等方式

let main = document.querySelector("#main");

let ul_1 = document.createElement("ul");
let li_1 = document.createElement("li");
let li_2 = document.createElement("li");
let a_1 = document.createElement("a");
let span_1 = document.createElement("span");

main.appendChild(ul_1);
ul_1.appendChild(li_1);
ul_1.appendChild(li_2);

li_1.appendChild(a_1);
li_2.appendChild(span_1);

a_1.setAttribute("href", "#");
a_1.textContent = "连结";
span_1.textContent = "测试";

使用 innerHTML 加变数等方式

let main = document.querySelector("#main");

let link = "#";
let link_text = "连结";
let span_text = "测试";

main.innerHTML = `<ul><li><a href=${link}>${link_text}</a></li><li><span>${span_text}</span></li></ul>`;

感觉 innerHTML 的作法似乎比较快速,当然如果会重复的话,写成 function 是比较好的作法

次回

预计说明 event(事件)


<<:  【Day13】漏洞分析Vulnerability Analysis(二)

>>:  Flutter基础介绍与实作-Day14 补充介绍 Theme

4 游戏状态结构

上次我们讲到,服务器上的游戏状态会直接反应出游戏的画面。 而我们也需要随着游戏进行,依照动作与游戏规...

[Day 23] Node Event loop 2

前言 今天继续看看 event loop 的核心循环, uv_run() , 可以查看以下网址 ht...

DAY 6 Big Data 5Vs – Volume(容量) – Redshift Spectrum

大量的资料势必可能来自不同资料源,在结构化资料库的世界常用的就是联合查询。那如果我的资料不全都在结构...

Day21 Vue data属

以前我们在写Vue时data都是这样写 但是到了元件这可能就会出现错误,前面我们的data属性总是以...

【第3天】资料前处理-YOLOv4与自动框选中文字

现况 观察主办单位提供的资料集(约7万张图档),发现图档大致分为下列几种。 1.1 图档内只有1个中...