我有一个包含一些值的表。第一行和第一列分别包含称为垂直和水平尺寸的值。我需要做的是单击一个表格单元格并获取该单击的表格单元格的水平和垂直值。它的基本含义是——获取被单击的表格单元格所在行的第一个表格单元格的值,并获取被点击的表格单元格所在列的第一个表格单元格的值。我使用以下代码获取水平值:
var horizSize = $('th:first', $(this).parents('tr')).text();
但我不确定如何为垂直线执行此操作。如何获取列的第一个表格单元格值?
感谢您的帮助。
最佳答案
我认为以下应该可行:
var verticSize = $('tr:first td').eq($(this).index()).text();
请注意,在演示中我还修改了您的 horizSize
选择器,以:
horizSize = $(this).closest('tr').find('td:first').text();
然后细化为:
horizSize = $(this).prevAll('td:last').text();
以上假定您想要来自 :first
tr
元素的单元格的值,无论是在 thead
还是 正文
。如果您已将标题单元格标记为 th
,那么您需要将选择器的 td
修改为 th
。
编辑以回应 Felix Kling 的评论:
Instead of
$('tr:first td')
,$(this).closest('table').find('tr:first td')
might be better (depending on the other markup).
我自己真的应该想到这一点。而且,如果文档中有多个 table
,那么此更改将是必不可少的,以证明:
var verticSize = $(this).closest('table').find('tr:first td').eq($(this).index()).text();
引用资料:
-
closest()
. -
eq()
. -
find()
. -
:first
selector . -
index()
. -
:last
selector . -
prevAll()
.
关于javascript - 使用 jQuery 获取列中的第一个表格单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8667734/