0

在 OpenCart 中,当我在更多数量的产品中显示折扣时,它以默认方式显示在一行中。但我试图改变外观并使它像这样

<div class="discount">
  <table>
    <tr>
      <?php foreach ($discounts as $discount) { ?>
        <td class="test">
          <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?>
        </td>
      <?php } ?>
    </tr>
  </table>
</div>

当连续 5 次折扣时,这里显示正常。但现在我想在第 5 个 td 之后插入另一行。我想在另一个 tr 中显示另外 5 个 tds。那么有人可以帮助我如何在 jQuery 中做到这一点吗?

4

4 回答 4

2

如果您只想在最后一个 tr 之后添加另一个 tr ,那么这将完成......

$("<tr />").insertAfter(".discount table tr:last")​​​​​​​​​​​​​​​​​​​​​​​​​;

它里面没有细胞,所以你也需要添加它们,你可以这样做......

$("<tr><td/><td/><td/><td/><td/></tr>").insertAfter(".discount table tr:last")​​​​​​​​​​​​​​​​​​​​​​​​​
于 2012-11-09T10:00:14.057 回答
1
$(".discount table tr td:eq(4)").after("<tr><td>.....</td></tr>");

尝试这样的事情

如果您想tr td在第 5 次之后插入,请tr使用此

$(".discount table tr:eq(4)").after("<tr><td>.....</td></tr>");
于 2012-11-09T09:31:43.460 回答
0
$(".discount table tr td:nth-child(5)").append("</tr><tr>");
于 2012-11-09T09:35:09.397 回答
0

更容易在 php 上连续 5 个得出结论

<div class="discount">
    <table>
         <?php for ($i = 0; $i < count($discounts); ) { ?>
              <tr>
                   <?php for ($j = 0; $j < 5 && $i < count($discounts); $j++, $i++) { ?>
                        <td class="test">
                            information
                        </td>
                   <?php } ?>
              </tr>
         <?php } ?>
    </table>
</div>
于 2012-11-09T09:50:59.367 回答