jquery 选择器找不到填充 JSON 的 tbody 数据表?
Posted
技术标签:
【中文标题】jquery 选择器找不到填充 JSON 的 tbody 数据表?【英文标题】:jquery selector cannot find tbody Datatable filled with JSON? 【发布时间】:2016-07-26 23:26:20 【问题描述】:也许你们中的一些人已经遇到了我的问题:我使用了一个<table>
,它填充了 JSON。在 html 部分,我只创建 <table>
和 <tbody>
。
它工作正常,但是当我想用 Jquery 选择 tbody 时:
$('#mytable tbody')
,tbody 找不到了!
CSS 和 firebug 可以看到 tbody,但 Jquery 不行!
你知道使用 jquery 选择 tbody 的方法吗?
【问题讨论】:
你在使用数据表插件吗? 是:选择插件和fixedheader插件 你能添加一个 Jsfiddle 来重现这个问题吗? 我现在没有时间在 JsFiddle 中添加示例,我今晚会尝试这样做。 能否请您完整地粘贴 HTML 代码? 【参考方案1】:我通过使用解决了我的问题:
var oTable = $('#my_table').DataTable();
var cells = oTable.column( 1 ).nodes(); // first column is number 0
$( cells ).addClass('highlight'); // for each <td> ...
您也可以只选择包含“none”的TD:
var cells = oTable.cells( ":contains('none')" ).nodes();
我不确定这些函数是否适用于 Jquery,我认为它们来自 DataTable 库。
【讨论】:
它们是 dataTables 库的一部分【参考方案2】:你必须做两件事。
-
使用 Jquery 查找子选择。
移动到您的“”中找到它。瞬间:
我建议您使用选项 2,但在查找 <tbody>
标记时可能会出现一些问题,因为这取决于该标记的父标记。我的意思是,如果你有这样的事情:
<table id="mytable">
<tbody>
...
</tbody>
</table>
您必须像 css 一样使用 ID 和相应的继承来查找它。所以,要找到元素<tbody>
,你必须:
$('table#mytable > tbody ')
如果您将此 table#mytable > tbody 粘贴到 CSS 样式文档上,也许您会看到您的选择器会出现,因为您从 id 继承到 <tbody>
标记,而不是只采用没有 > 的 tbody p>
【讨论】:
谢谢,但是 $('table#mytable > tbody ') 不起作用。我得用Jsfiddle做个demo,会更清楚以上是关于jquery 选择器找不到填充 JSON 的 tbody 数据表?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?
为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?
为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?
为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?