首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jquery中选择表的姊妹元素

在jquery中选择表的姊妹元素
EN

Stack Overflow用户
提问于 2012-06-11 05:38:00
回答 2查看 626关注 0票数 2

我想通过访问同一行中的其他td来填充td元素。我如何使用jQuery访问它们?

在我的情况下,我有一个表,第5列通过从COL4中减去COL3,并返回COL5中的结果来填充。我开始使用嵌套循环,但意识到如果我在每个COL5 td上使用.each(),如果我可以使用jQuery识别COL3和COL4,就可以实现这一点。

这是fiddle

标识元素的部分如下所示:

代码语言:javascript
运行
复制
$('section.techtable td:nth-child(5)').each(function() {
    $(this).append(strinToMonthNumber($(START JQUERY),$(END JQUERY)));
})

我想我必须访问$(this)的父元素,然后是(第三个和第四个)子元素?

我还试图避免在TH或TD元素上使用span或class属性。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-11 05:40:45

您可以选择一个元素(在本例中为表格单元格),然后使用jQuery.prev()jQuery.next()选择上一个或下一个同级元素。在原生DOM中,您可以使用previousSibling/nextSibling (或在现代浏览器中使用previousElementSibling/nextElementSibling跳过非元素节点)元素属性来实现相同的目的。

基于您的代码示例,如下所示:

代码语言:javascript
运行
复制
$('section.techtable td:nth-child(5)').each(function() {
    var cell5 = $(this),
        cell4 = cell5.prev(),
        cell3 = cell4.prev();

    cell5.append(strinToMonthNumber(cell3, cell4)));
})
票数 3
EN

Stack Overflow用户

发布于 2012-06-11 06:46:10

试试这个:

代码语言:javascript
运行
复制
$('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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10972554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档