【发布时间】:2014-09-11 19:42:08
【问题描述】:
我有一个包含许多行的数据表:
var table = $('#mytable').DataTable(...)
我正在尝试查找包含具有特定数据值的<a> 的行。
从文档中,我希望 table.rows('<magic row-selector>') 能够工作,对于 <magic row-selector> 的某些值。但即使是最简单的选择器似乎也不能像我期望的那样工作。
文档说,如果我将字符串传递给 rows(),它将被视为在 <tr> 元素上运行的 JQuery 选择器。
http://datatables.net/reference/type/row-selector
现在我确定这些行中的每一行都包含许多 's - 如果我检查 table.rows.nodes() 返回的元素的 outerHTML,我可以在调试器中看到它们。所以我希望这会返回所有行:
table.rows('a')
但它没有返回任何内容。
我不明白什么?
我应该使用什么选择器来查找所有包含<a> 的行以及数据属性的指定值?
根据回答编辑
davidkonrad 的回答提供了一些帮助——我需要传递一个 jQuery 选择器对象,而不是一个字符串。
不幸的是,我似乎需要在定义表之前构造 jQuery 选择器对象。我不确定我理解为什么,这似乎是一个不合理的限制,但是玩弄他的小提琴,我确实看到了 table.rows(selector) 返回的行在我初始化表之前或之后定义选择器之间的差异.
那么,就我而言,这使得这种方法无法使用,因为我要做的是删除在数据属性中设置了某些值的行。在我构建表格之前,我无法知道用户可能选择了哪些值。
【问题讨论】:
-
你可以尝试使用jQuery对象datatables.net/reference/type/row-selector#jQuery吗?我的意思是像这样
var aTags = $('#myTableRowsParent a')然后使用table.rows( aTags ).data()?在myTableRowsParent下,我的意思是您要查找的所有a标签的父级。
标签: javascript jquery jquery-ui jquery-datatables