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

Numbered list changes to reflect visible elements

我有一个需要编号的项目列表。用户单击按钮后,编号列表项之一将显示 none。然后我需要更改编号列表以反映新顺序。

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

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

删除一个p后,可以使用text()函数循环遍历每个剩余的元素。然后,您可以按空格拆分文本,删除第一项,附加该元素的索引,然后将它们重新组合在一起。试试这个:

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

Example fiddle

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