我试图添加行到表的。但我有实现的问题。首先,一切发生的功能都是从HTML页面的下拉菜单中改变的。我创建了一个….字符串,其中包含所有的内容,包含html元素,文本和其他东西。但是当我试图添加生成的行到表使用:
$(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);