如何使用js动态生成html代码

JavaScript06

如何使用js动态生成html代码,第1张

所谓动态生成html代码就是源文件代码中原来没有内容或者需要重新改变此处的要显示的文字或内容,需要用JavaScript代码来实现。动态生成是一种很常见常用的方法。

用innerHTML写入html代码:

123<div id="zd"></div>‘即为向id为zd的标签写入内容<script>document.getElementById("zd").innerHTML="这里即为要写入的代码"</script>

说明:

innerHTML:向对象插入内容。

一、使用javascript 模板引擎

用javascript预编译模版,就是动态修改模板文件使之成为一个可用的静态HTML文件。 我平时会使用artTemplate,性能很好而且易上手。

编写模板

使用一个type="text/html"的script标签存放模板:

<script id="test" type="text/html">

<h1>{{title}}</h1>

<ul>

{{each list as value i}}

<li>索引 {{i + 1}} :{{value}}</li>

{{/each}}

</ul>

</script>

渲染模板

var data = {

title: '标签',

list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']

}

var html = template('test', data)

document.getElementById('content').innerHTML = html

二、使用CoffeeScript

CoffeeScript支持类似于Python的跨行字符串,这样很轻易的就能保持HTML结构的可读性,而不需要使用“+”或者采用拼数组的形式。

str="""

<div class="dialog">

<div class="title">

<img src="close.gif" alt="关闭" />关闭

</div>

<div class="content">

<img src="delete.jpg" alt="" />

</div>

<div class="bottom">

<input id="Button2" type="button" value="确定" class="btn"/>

<input id="Button3" type="button" value="取消" class="btn"/>

</div>

</div>

"""

动态写入html代码,主要就是append方法或其他插入方法。如:

var ele=document.createElement('div')//创建div对象

ele.innerHTML='我是测试内容'//在div对象中写入内容

document.body.appendChild(div)//把div放在body标签最后面

jQuery相对于要简单一些,如:

$(document.body).append('<div>我是测试内容</div>')