有没有办法使用Jquery创建动态html表元素。
在此表中,我想将Td内部元素添加为锚标记。
答案 0 :(得分:2)
你可以做这样的事情
使用append功能
$("#divID").append("<table><tr><td><a href='3#'>Click me</a></td></tr></table>");
或者只是将表格标记创建为字符串并使用
将其附加到容器
中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')
将为您提供锚点。