首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >前10位tr jquery

前10位tr jquery
EN

Stack Overflow用户
提问于 2016-04-14 10:44:33
回答 2查看 52关注 0票数 1

代码语言:javascript
复制
$('.dynamicsubtotal').each(function() {
  $(this).prev('.value').css('color', 'red')
  market += parseInt($(this).prev('.value').find('td:nth-child(6)').text());
  console.log(market)
})
代码语言:javascript
复制
<table>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='dynamicsubtotal'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='dynamicsubtotal'></tr>
</table>

我希望在使用类的动态小计之前选择具有类值的所有10 tr

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-14 10:47:18

我认为您真正想要做的是在每个value元素之前找到所有的dynamicsubtotal元素,所以您正在寻找prevUntil

代码语言:javascript
复制
$('.dynamicsubtotal').each(function(i) {
  $(this).prevUntil('.dynamicsubtotal', '.value').css('color', 'red').append('<td>' + i + '</td>')
})
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='dynamicsubtotal'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='value'></tr>
  <tr class='dynamicsubtotal'></tr>
</table>

票数 0
EN

Stack Overflow用户

发布于 2016-04-14 10:47:08

这就是你要找的https://api.jquery.com/prevUntil/

代码语言:javascript
复制
$('.dynamicsubtotal').each(function() {

  var market = 0;
  var $prevTRS = $(this).prevUntil('.dynamicsubtotal', '.value');

  $prevTRS.each(function() {
     market += parseInt($(this).find('td:nth-child(6)').text() || 0, 10);
  });

  console.log(market);
});

示例(为HTML使用nth-child(1) )

代码语言:javascript
复制
$('.dynamicsubtotal').each(function() {

  var market = 0;
  var $prevTRS = $(this).prevUntil('.dynamicsubtotal', '.value');

  $prevTRS.each(function() {
    market += parseInt($(this).find('td:nth-child(1)').text() || 0, 10);
  });

  console.log(market);
});
代码语言:javascript
复制
<!-- results pane console output; see http://meta.stackexchange.com/a/242491 -->
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table>
  <tr class='value'><td>10</td></tr>
  <tr class='value'><td>10</td></tr>
  <tr class='value'><td>10</td></tr>
  <tr class='value'><td>10</td></tr>
  <tr class='value'><td>10</td></tr>
  <tr class='value'><td>10</td></tr>
  <tr class='value'><td>10</td></tr>
  <tr class='value'><td>10</td></tr>
  <tr class='value'><td>10</td></tr>
  <tr class='value'><td>10</td></tr>
  <tr class='dynamicsubtotal'><td>dyn</td></tr>
  <tr class='value'><td>20</td></tr>
  <tr class='value'><td>20</td></tr>
  <tr class='value'><td>20</td></tr>
  <tr class='value'><td>20</td></tr>
  <tr class='value'><td>20</td></tr>
  <tr class='value'><td>20</td></tr>
  <tr class='value'><td>20</td></tr>
  <tr class='value'><td>20</td></tr>
  <tr class='value'><td>20</td></tr>
  <tr class='value'><td>20</td></tr>
  <tr class='dynamicsubtotal'><td>dyn</td></tr>
</table>

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

https://stackoverflow.com/questions/36620751

复制
相关文章

相似问题

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