Javascript 从<;td>;何处<;th>;匹配文本

Javascript 从<;td>;何处<;th>;匹配文本,javascript,jquery,html,Javascript,Jquery,Html,使用我使用的系统,您可以创建自定义字段。这些字段都具有相同的html和css。现在我想得到第th周的值td 现在我使用: var week = $(this).find('td.bug-custom-field:last').text(); 这是可行的,但我必须确保它始终是最后一个字段。有更好的方法吗 <table> <tr> <th class="bug-custom-field category">Name</th>

使用我使用的系统,您可以创建自定义字段。这些字段都具有相同的html和css。现在我想得到第th周的值td

现在我使用:

   var week = $(this).find('td.bug-custom-field:last').text();
这是可行的,但我必须确保它始终是最后一个字段。有更好的方法吗

   <table>
   <tr>
   <th class="bug-custom-field category">Name</th>
   <td class="bug-custom-field" colspan="5">Test</td>
   </tr>

   <tr>
   <th class="bug-custom-field category">Week</th>
   <td class="bug-custom-field" colspan="5">23</td>
   </tr>
   </table>

名称
试验
周
23

您已经掌握了所需的大部分详细信息。拥有
th
后,最可靠的解决方案是转到行,然后使用find查找
td
。另一种选择是一个简单的
.next()
,但如果布局发生变化,则更可能出现中断

var th = $("th.bug-custom-field.category:contains('Week')")
var row = $(th).closest("tr");
var week = $(row).find('td.bug-custom-field:last').text();
var weekTH=$(“th.bug自定义字段.类别:contains('Week'))
var weekTR=$(weekTH);
var weekTD=$(weekTR.find('td.bug自定义字段:last');
var week=$(weekTD).text();
控制台日志(周)
th{text align:left;}

名称
试验
周
23
变量1:

var周=0;
$('table tr td')。每个(函数(){
如果($(this).prev().text()=='Week'){
week=parseInt($(this).text(),10);
}
});
控制台日志(周)

名称
试验
周
23

这不是一个有效的HTML表格
:contains()
.index()
.eq()
存在……如果你把问题分解成不同的部分,答案就会更容易看到:(a)你需要知道哪个标题(从左边算起)包含你的文本。(b) 您希望找到位于特定位置的单元格(从左侧开始计数)。这两个都很容易在网上找到。剩下的唯一一件事就是把(a)的结果输入(b)。这是一个垂直的表,所以它是有效的?我尝试$($th.bug custom field.category:contains('Week'))来获取正确的th,但是如何从中获取td值呢。你有例子吗?@AnkitAgarwal除了缺少可选的
tbody
之外,请说明为什么这不是一个有效的HTML表。你真的认为
th
只能出现在
thead
中吗?或者在第一个
tr
中只能有
th