如何用javascript迭代表列和表头
How to iterate table columns with table th headers with javascript?
我的作用域中有一个表行对象。我可以在行上点击链接的时候得到它
var tableRow = $(object).closest('tr');
我需要的是逐行迭代这个表的表头列。
例如:
th1 th2 th3
tr1 td td td
tr2 td td td*
假设我的作用域是tr2,我需要到达th3下面的单元格。当我迭代它的单元格时,我怎么知道单元格在th3下面?
我想不使用列索引,而是使用列名。
遍历行上下文的每个td,并使用.eq()和.index()获得该列的对应th。如下所示:
在这个例子中,我正在搜索具有文本"two"的列
var $table = tableRow.closest('table');
var query = "two";
var result = tableRow.find('td').filter(function(){
return $table.find('th').eq($(this).index()).html() === query;
});
console.log(result.html());
$('tr').on('click', function() {
find($(this));
});
function find(tableRow) {
var $table = tableRow.closest('table');
var query = "two";
var result = tableRow.find('td').filter(function() {
return $table.find('th').eq($(this).index()).html() === query;
});
alert(result.html());
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<thead>
<th>One</th>
<th>two</th>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</tbody>
</table>
假设您的表的id是myTable,您可以:
$("#myTable td")
这将给你所有的表格单元格,如果你对它们进行迭代你将从单元格1扫到n
如果您只需要,比如每行中的第二个单元格,您可以使用以下选择器:
$("#myTable tr td:nth-child(2)")
这将返回每行中的第二个单元格
相关文章:
- 如何在javascript中迭代数字列表
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 如何迭代Array.prototype函数
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 在ejs-partial中对JSON对象进行迭代
- 如何在DataTables 2.1中迭代对象数组
- 使用递归属性迭代保留属性结构
- 正在停止.在jquery中的特定时间间隔内,每次迭代的每次执行
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- 主干-从模板中迭代的集合中获取特定的模型
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 什么's是在javascript中迭代项的最佳方式
- 为什么这只是迭代 HTMLCollection 的奇怪元素
- 是否“;对于的“;循环迭代遵循JavaScript中的数组顺序
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- 在es6中,将带有回调的事件侦听器设置为可迭代的
- jQuery-迭代不正确?(太长,无法执行)
- 每个$.,循环获胜't逐个迭代HTML元素
- 如何在Jquery中迭代JSON数组
- 如何迭代此JSON对象并将每个项作为表头输出