Javascript 动态HTML标题导致动态表中断
我已经创建了一个动态表,我已经动态地构建了表头。 Dynatable在运行时出错,因为它无法在HTML中找到标题 错误:未捕获错误:在'thead tr'中找不到任何列标题 th,td'。如果标题行不同,请在中指定选择器 表:头枕选配件 参见小提琴: 如果HTML包含以下内容,则它确实会起作用: 工作小提琴:Javascript 动态HTML标题导致动态表中断,javascript,jquery,dynatable,Javascript,Jquery,Dynatable,我已经创建了一个动态表,我已经动态地构建了表头。 Dynatable在运行时出错,因为它无法在HTML中找到标题 错误:未捕获错误:在'thead tr'中找不到任何列标题 th,td'。如果标题行不同,请在中指定选择器 表:头枕选配件 参见小提琴: 如果HTML包含以下内容,则它确实会起作用: 工作小提琴: 名字 姓氏 但是为了允许动态创建,我将thead留空。我已经切换到使用数据表。 这是我的解决方案,但不是这个问题的确切解决方案。 为了将来参考,datatables允许您基于列标题数组
名字
姓氏
但是为了允许动态创建,我将thead留空。我已经切换到使用数据表。 这是我的解决方案,但不是这个问题的确切解决方案。 为了将来参考,datatables允许您基于列标题数组动态创建标题
$('#example thead tr,tfoot tr').append('<th>' + value + '</th>');
$('#示例thead tr,tfoot tr').append(''+value+'');
出于某种原因,动态表在动态创建标题时使用“thead tr”作为标题选择器,并在该标题下搜索“th”。简单的解决方案是明确地指定“thead”作为headRowSelector
$('#my-table').dynatable({
table: {
headRowSelector:'thead',
},
dataset: {
records: columns
}
});
如果填充该表,是否会出现相同的错误?是的,它工作正常请参见上面更新的工作fiddle此处的原因它希望能够计算
$columns.length
,否则它会抛出错误数组长度属性确实工作吗?hResponse.length=3 Dynatable搜索的不是javascript数组的长度,它专门搜索DOM上存在的th
和td
元素。只要obj.$element.find(settings.table.headRowSelector).children('th,td')代码>(表示未找到任何元素-可在上面的链接中找到此代码)返回null
您将得到相同的错误,这就是填充表不会返回错误的原因OP需要使用动态表的解决方案
$('#my-table').dynatable({
table: {
headRowSelector:'thead',
},
dataset: {
records: columns
}
});