我想通过访问同一行中的其他td来填充td元素。我如何使用jQuery访问它们?
在我的情况下,我有一个表,第5列通过从COL4中减去COL3,并返回COL5中的结果来填充。我开始使用嵌套循环,但意识到如果我在每个COL5 td上使用.each(),如果我可以使用jQuery识别COL3和COL4,就可以实现这一点。
这是fiddle。
标识元素的部分如下所示:
$('section.techtable td:nth-child(5)').each(function() {
$(this).append(strinToMonthNumber($(START JQUERY),$(END JQUERY)));
})
我想我必须访问$(this)的父元素,然后是(第三个和第四个)子元素?
我还试图避免在TH或TD元素上使用span或class属性。
发布于 2012-06-11 05:40:45
您可以选择一个元素(在本例中为表格单元格),然后使用jQuery.prev()
或jQuery.next()
选择上一个或下一个同级元素。在原生DOM中,您可以使用previousSibling
/nextSibling
(或在现代浏览器中使用previousElementSibling
/nextElementSibling
跳过非元素节点)元素属性来实现相同的目的。
基于您的代码示例,如下所示:
$('section.techtable td:nth-child(5)').each(function() {
var cell5 = $(this),
cell4 = cell5.prev(),
cell3 = cell4.prev();
cell5.append(strinToMonthNumber(cell3, cell4)));
})
发布于 2012-06-11 06:46:10
试试这个:
$('section.techtable tr').each(function() {
var $cells = $(this).find("td");
var val = strinToMonthNumber($cells.eq(2).text(),$cells.eq(3).text());
$cells.eq(4).text(val);
});
请注意,单元格索引是零源的,因此比3/4/5少一。如果您已经考虑了零源,则每种情况下都+1。
https://stackoverflow.com/questions/10972554
复制相似问题