如何创建动态表?

时间:2009-11-27 10:15:14

标签: jquery

有没有办法使用Jquery创建动态html表元素。

在此表中,我想将Td内部元素添加为锚标记。

3 个答案:

答案 0 :(得分:2)

你可以做这样的事情

使用append功能

$("#divID").append("<table><tr><td><a href='3#'>Click me</a></td></tr></table>");

或者只是将表格标记创建为字符串并使用

html()

将其附加到容器

var strTable = "<table><tr><td><a href='#'>Click</a></td></tr></table>";

$("#div1").html(strTable.toString() );

如果你有更复杂的标记,那么使用数组

var arrTableMarkup = new Array();
arrTableMarkup.push ( "<table>" );
arrTableMarkup.push (     "<tr>" );
arrTableMarkup.push (       "<td>" );
arrTableMarkup.push (           "<a id='anch1' href='#'>Click</a>" );
arrTableMarkup.push (       "</td>" );
arrTableMarkup.push (       "</tr>" );
arrTableMarkup.push ( "</table>" );

$("#div1").html(arrTableMarkup.join('') );

<强> 修改

如果您需要添加onclick事件,则可以将锚标记指定为id,然后使用live方法指定事件。

$("#anch1").live ( "click" , function () { EventHandlerFunction() } );

答案 1 :(得分:1)

致电createDynamicTable(tbody, rows, cols)

<script typr="text/javascript">
function createDynamicTable(tbody, rows, cols)
{
    if (tbody == null || tbody.length < 1)return;

    for (var r = 1; r <= rows; r++) {
            var trow = $("<tr>");
        for (var c = 1; c <= cols; c++) {
            var input = $("<a />");
            $("<td>")
                    .addClass("tableCell")
                    .append(input)
                    .data("col", c)
                    .appendTo(trow);
        }
        trow.appendTo(tbody);
    }
}
</script>

答案 2 :(得分:0)

最简单(也许是最快)的方法是从HTML中完成:

var table = $('<table><tr><td><a href="#">Hello World!</a></td></tr></table>');

如果需要,执行table.find('a')将为您提供锚点。