0

我试图在每个人的“dt”包裹内显示计数,但目前它在“dt”包裹内外的每个人之间显示计数。我附上了一张丝网印刷品。如果有人能就这个修复建议我,我将不胜感激。

 $('.order_table_item .variation dt').each(function () {
        if ($(this).text() == 'Candidate Name:') {
            $(this).next().show();
            $(this).before("<div class='count'></div>");
            $(this).next().after("<div class='clear'></div>");

        } else {
            $(this).hide();
        }
    });

    $('.variation .count').each(function(i) {
            $(this).append((i+1));
    });

在此处输入图像描述

我试过,

$('.order_table_item').each(function(i,e){


    $('.variation .count').each(function(i) {
            $(this).append((i+1));
    });

});

现在它的数字翻了一番,

在此处输入图像描述

清理后的我的 html 的缩短版本,

  <table class="shop_table order_details">
    <tbody>
        <tr class="order_table_item">
            <td class="product-name"> 
                <dl class="variation">
                    <div class="count" style="border-top: 0px none;">11</div>
                    <dd style="display: block; border-top: 0px none;">Dave</dd>
                    <div class="clear"></div>
                </dl>
            </td>
        </tr>
        <tr class="order_table_item">
            <td class="product-name">
                <dl class="variation">
                    <div class="count">22</div>
                    <dd style="display: block;">JACK</dd>
                    <div class="clear"></div>
                    <div class="count">33</div>
                    <dd style="display: block;">JOHN</dd>
                </dl>
            </td>
        </tr>
    </tbody>
</table>
4

2 回答 2

1

如果我理解正确:

演示:http: //jsfiddle.net/7DxVJ/1/

jQuery

$('.variation').each(function(x) {
    $(this).find('.count').each(function(i) {
        $(this).append(i+1);
    });
});

输出:

111 戴夫

221 杰克

第332章

于 2013-09-10T14:33:24.763 回答
0

由于我不确切知道您的代码是什么样的,所以我有三个想法:

想法1:

$('.variation .count').each(function(i) {
  $(this).text(i+1);
});

想法 2:由于 "1" + 1 = 11,尝试解析 i 使其变为 int 而不是字符串。

$('.variation .count').each(function(i) {
  $(this).append(parseint(i)+1);
});

想法3:

$('.variation .count').each(function(index) { //i is already taken, better to use another variable here.
  $(this).text(index+1);
});

想法 4:由于您在每个循环中,我错过了,您可能希望循环遍历它的每个 .count,而不是每次都遍历所有 .count。

$('.order_table_item').each(function(i,e){
  $(this).find('.variation .count').each(function(index) { //use $(this) to loop every .count inside .order_table_item.
    $(this).text(index+1);
  });
});

见工作小提琴

于 2013-09-10T13:49:46.947 回答