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,但在查找 &lt;tbody&gt; 标记时可能会出现一些问题,因为这取决于该标记的父标记。我的意思是,如果你有这样的事情:

<table id="mytable">
<tbody>
...
</tbody>
</table>

您必须像 css 一样使用 ID 和相应的继承来查找它。所以,要找到元素&lt;tbody&gt;,你必须:

$('table#mytable > tbody ') 

如果您将此 table#mytable > tbody 粘贴到 CSS 样式文档上,也许您会看到您的选择器会出现,因为您从 id 继承到 &lt;tbody&gt; 标记,而不是只采用没有 > 的 tbody p>

【讨论】:

谢谢,但是 $('table#mytable > tbody ') 不起作用。我得用Jsfiddle做个demo,会更清楚

以上是关于jquery 选择器找不到填充 JSON 的 tbody 数据表?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?