编号列表更改以反映可见元素

时间:2015-09-21 09:20:36

标签: jquery count numbers

我有一个需要编号的项目列表。用户单击按钮后,其中一个编号列表项将不显示任何内容。然后,我需要更改编号列表以反映新订单。

我可以返回列表项的数量,这可能是更改列表中数字的一种方法。

var btn = $('.btn');
var hide = $('.hide');
var shm = $('.showHowMany');

$(btn).click(function(){
   $(hide).css({"display": "none"});
   $(function () {   
    var howMany=$('p:visible').length;
        if(howMany === 2){$(shm).html('There are ' + howMany); }
    });
});

是否有人能够指出我如何实现这一目标。

Jfiddle of what I have so far

1 个答案:

答案 0 :(得分:1)

删除p后,您可以使用text()函数循环遍历其余每个元素。然后,您可以按空格分割文本,删除第一个项目,附加该元素的索引并将它们全部重新加入。试试这个:

$('.wrapper p:visible').text(function(i, v) {
    var words = v.split(' ');
    words.shift();
    return (i + 1) + ' ' + words.join(' ');
});

Example fiddle

另请注意,我对您的代码进行了一些整理,因为您对jQuery对象进行了双重包装。