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