我试图将行添加到表的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/