所以我有这段代码:
$( document ).ready(function() {
$.getJSON(url_dbpath, function(db) {
var tr;
//some code
for (...) {
tr = $("<tr class='division' id='" + division.name + "'>");
tr.append("<td>" + division.name + "</td>");
tr.append(....);
tr.append("</tr>")
$('#datatable').append(tr);
}
...按预期工作,正确附加加载到#datatable
对象的数据。 <tr>
个对象具有正确的类和ID。
后来我有了这个:
$("#datatable").on("click", ".division", function() {
console.log("div");
});
这也可以按预期工作,为“.division”<tr>
添加一个监听器。
但是,我无法以任何方式选择附加的行或数据对象。例如,我想这样做:
$(".division").hide();
但是当我在代码中调用它时,选择器返回一个空数组。我只能选择#datatable
对象和默认存在的<th>
行。我尝试了$("#datatable").find(".division")
(返回[]
),$("#datatable").children().children()
(第一个返回tbody
,第二个返回[]
),按ID选择,移动选择器到代码的末尾。
但是,当我加载页面并在控制台中使用相同的命令时,它们会返回正确的输出(在控制台中)。
如何选择对象?
答案 0 :(得分:0)
您是否尝试过以其他方式创建元素?我的意思是,尝试将你的tr元素构建为
$("<tr class='division' id='" + division.name + "'></tr>")
.append("<td>...</td>")
.append("<td>...</td>")
...
.appendTo($('#datatable'))