谁能告诉我为什么这个javascript函数调用不起作用?

时间:2011-09-21 19:24:15

标签: javascript jquery dom

这是一个jsFiddle

Fiddle

JavaScript的:

 function createTable(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++) {
             $("<td>")
                     .text("Table")
                     //.createElement("div")
                     .appendTo(trow);
         }
         trow.appendTo(tbody);
     }
 }   


$(document).ready(function() {
  createTable($("#table"), 4, 4);
});

HTML:

<table id="table" border="1">
    <tbody>
    </tbody>
</table>
----------------------------
<table id="table1" border="1">
    <tbody>
    </tbody>
</table>

<br><br>
Select table size?
<form>
    <input type="button" value="4X4" onclick="createTable('table1', 4, 4)">
</form>

JavaScript调用的JavaScript函数工作正常(表),但OnClick调用的JavaScript函数不起作用(table1)。你能告诉我为什么吗?

也有人知道createElement("div")为什么不起作用?

5 个答案:

答案 0 :(得分:2)

修正http://jsfiddle.net/7WD8v/6/

您需要在头部加载脚本以使其可用于该输入

答案 1 :(得分:2)

你必须在小提琴中使用no wrap,而jQuery没有createElement方法(因为你将它称为jQuery方法)。您可以使用.append()

Fiddle

答案 2 :(得分:2)

答案 3 :(得分:0)

你需要在onclick上传递对象

createTable($('#table1'), 4, 4)

答案 4 :(得分:0)

因为在OnClick上你传递一个String作为第一个参数值,并且在js调用中传递一个元素集合。

相关问题