JavaScript动态创建元素

Posted 码上暴富

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript动态创建元素相关的知识,希望对你有一定的参考价值。

JavaScript动态创建元素

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>js动态创建元素</title>
</head>
<body>
<div class="Index">
    <div class="content-box">
        <!-- 定义模板 -->
        <script id="myTemplate" type="text/html">
            <div class="content">
                <p class="keys">[name]</p>
            </div>
        </script>
    </div>
</div>
</body>
<!--JQuery-->
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">
    // 封装动态创建元素
    let Template = function (templateId, data) 
        let template = document.getElementById(templateId).innerHTML;
        data = Array.isArray(data) ? data : [data];
        let html = "";
        data.forEach(function (el) 
            let tmpl = template.replace(/@if\\\\[(\\w+)\\]\\([\\s\\S]+?)(@else([\\s\\S]+?))?@endif/g, function ($, $1, $2, $3, $4) 
                return el[$1] ? $2 : ($3 ? $4 : "");
            );
            html += tmpl.replace(/\\\\[(\\w+)\\]\\/g, function ($, $1) 
                return ($1 in el) ? el[$1] : $;
            );
        );
        return html;
    ;
    // 调用封装的Template, 动态绑定内容
    window.onload = function () 
        let tpl = "";
        tpl = Template("myTemplate", [
            name: "1",
            name: "2",
            name: "3"
        ]);
        $('.content-box').append(tpl);
    ;
</script>
</html>


结果

以上是关于JavaScript动态创建元素的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript动态创建元素

JavaScript动态创建元素

JavaScript单行代码,也就是代码片段

JavaScript笔试题(js高级代码片段)

支持动态或静态片段的不同屏幕尺寸?

在 Javascript 中动态创建音频元素