我试图将行添加到表的tbody。但是我在实现目标上遇到了问题。首先,在更改html页面的下拉菜单时会调用所有发生的功能。我创建了一个tr字符串,其中包含html元素,文本和其他内容的所有td。但是当我尝试使用以下方法将生成的行添加到表中时:

$(newRowContent).appendTo("#tblEntAttributes tbody");

我遇到一个错误。该表的名称是tblEntAttributes,我正在尝试将其添加到tbody

实际上发生的事情是jQuery无法将tblEntAttributes作为html元素获取。但是我可以使用documemt.getElementById("tblEntAttributes");访问它

有什么办法可以通过向表的tbody添加行来实现这一点。也许绕过什么。

这是完整的代码:
var newRowContent = "<tr><td><input type=\"checkbox\" id=\"" + chkboxId + "\" value=\"" + chkboxValue + "\"></td><td>" + displayName + "</td><td>" + logicalName + "</td><td>" + dataType + "</td><td><input type=\"checkbox\" id=\"chkAllPrimaryAttrs\" name=\"chkAllPrimaryAttrs\" value=\"chkAllPrimaryAttrs\"></td><td><input type=\"checkbox\" id=\"chkAllPrimaryAttrs\" name=\"chkAllPrimaryAttrs\" value=\"chkAllPrimaryAttrs\"></td></tr>";

$("#tblEntAttributes tbody").append(newRowContent);

我忘记提及的一件事是编写此代码的函数实际上是ajax调用的成功回调函数。我可以使用document.getElementById("tblEntAttributes")访问该表,但由于某种原因$(#tblEntAttributes)似乎不起作用。

最佳答案

("#tblEntAttributes tbody")
需要是
$("#tblEntAttributes tbody")

您没有使用正确的语法选择元素

这是两个例子

$(newRowContent).appendTo($("#tblEntAttributes"));


$("#tblEntAttributes tbody").append(newRowContent);

加工
http://jsfiddle.net/xW4NZ/

10-04 22:18