【问题标题】:jquery table find closest tr containing and get td textjquery table 找到最近的 tr 包含并获取 td 文本
【发布时间】:2015-03-27 05:15:26
【问题描述】:

此数据表具有行重新排序功能,因此可以拖放。我要做的是找到该行所在的父级并获取父级ID。希望有人能告诉我哪里出错了......

这条线成功地给了我 tr id

var line = parseInt($(this).attr('id'));

所以我使用它来获取最接近父级的上方(检查图像)

var s = $(this).find('tr:contains("Parent")'); 

我似乎无法获得任何 td 值

var s = $(this).find('tr:contains("Parent")').find('td:eq(17)').text()

我也试过了

var s = $(this).closest('tr').prevAll('tr.Parent:first > td:nth-child(17)').text()

链接到一张桌子的图片http://postimg.org/image/rlamm9osd/

jsfiddle 与表格代码http://jsfiddle.net/Lmcfccmo/

【问题讨论】:

  • 这里的this 是什么?
  • HTML 会比图片更有用 :)
  • this 的上下文是 using console.log(this);跨度>
  • 如果没有完整的 HTML,这个问题只能靠猜测来回答(因为它取决于实际的内容/类)。您的示例是矛盾的(Parent 既用作文本又用作类)。请提供实际页面的 HTML(在您的问题结束之前)。谢谢:)
  • 我尝试从浏览器中提取 html,但似乎 datatables 并没有呈现整个表格 html,因为在使用 javascript/datatables 构造生成之前,我只有用作基础的骨架每一列和每一行(所有数据都是通过 json 加载的) - 所以我猜测它部分回答了为什么我无法使用 jquery 选择一个单元格......

标签: jquery row html-table


【解决方案1】:

您似乎只想从列(索引 14)中获取“父 ID”值并使用它来查找仅包含 ID="that parent number" 的行:

例如

  var parent = $('#' + $(this).children().eq(14).text());

JSFiddle: http://jsfiddle.net/TrueBlueAussie/Lmcfccmo/5/

【讨论】:

  • 太棒了,谢谢 - 学到了一些新东西 - 也感谢 Chrome 提示中的 F21 DOM 检查器......
猜你喜欢
相关资源
最近更新 更多
热门标签