Javascript 从<;td>;何处<;th>;匹配文本
使用我使用的系统,您可以创建自定义字段。这些字段都具有相同的html和css。现在我想得到第th周的值td 现在我使用: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>
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
?