动态通过js脚本构造html页面

本文介绍使用jQuery动态生成HTML内容的方法,特别是如何构建复杂的表格结构。通过两种方式实现:直接操作DOM和利用模板克隆。

下面的例子是使用jquery,实现动态构造html页面的代码

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Personal Information</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>

 

<script type="text/javascript" language="javascript">
    //动态添加表格的行数
    $(function()
    {
        var i=0;
        for(i=0;i<100;i++)//这里循环100次
        {
           $("<tr />").append("<td>陈希章</td><td>100</td>").appendTo("#contents");//每一次都增加一个tr的标记,里面包含两个td标记,最后将其追加到表格中去(通过id定位)
        }
    });
</script>

</head>

<body>
<table id="contents">
    <tr>
        <th>姓名</th>
        <th>年龄</th>
    </tr>
</table>

</body>

</html>

 

运行起来的效果如下

image

 

这样看起来很不错的, 但如果那个行比较复杂,则构造起来挺麻烦的。我们还可以利用模板的方式来做,如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Personal Information</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>

<script type="text/javascript" language="javascript">
    //动态添加表格的行数
    $(function()
    {
        var i=0;
        for(i=0;i<100;i++)
        {
            //$("<tr />").append("<td>陈希章</td><td>100</td>").appendTo("#contents");
           var row=$("#template").clone();//从模板复制一行
            row.find("#name").text("陈希章");
            row.find("#age").text("100");
            row.attr("id","data");
            row.appendTo("#contents");
        }
    });

</script>

</head>

<body>
<table id="contents">
    <tr>
        <th>姓名</th>
        <th>年龄</th>
    </tr>
    <tr id="template">
        <td id="name"></td>
        <td id="age"></td>
    </tr>

</table>

</body>

</html>

转载于:https://www.cnblogs.com/chenxizhang/archive/2009/06/03/1495473.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值