javascript - 前 10 个 jquery

标签 javascript jquery html css

$('.dynamicsubtotal').each(function() {
  $(this).prev('.value').css('color', 'red')
  market += parseInt($(this).prev('.value').find('td:nth-child(6)').text());
  console.log(market)
})
<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>

我想在具有class dynamicsubtotal的tr之前选择所有具有class value的tr

最佳答案

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

$('.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))

$('.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);
});
<!-- 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>

关于javascript - 前 10 个 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36620751/

相关文章:

javascript - 使用 AngularJS 自定义 HTML5 视频播放器控件

javascript - 字体大小,使用追加时div框大小不变

javascript - JSONP使用JQuery从HTTPS协议(protocol)中获取JSON

javascript - 解析json对象并将其分配给数组

html - 标签后面的单词的 XPath?

javascript - 单击标题而不仅仅是标题时打开 Accordion 面板

jquery - 在打开菜单时将 div 向右推

javascript - 过滤数据后采取行动

Javascript 记录到本地计算机上的文件

javascript - Fullcalendar js 事件重叠