Javascript 如何为每个容器元素重置自动编号标题的计数?
我使用以下代码创建H4元素的有序列表:Javascript 如何为每个容器元素重置自动编号标题的计数?,javascript,jquery,each,Javascript,Jquery,Each,我使用以下代码创建H4元素的有序列表: $(function() { $(".numbered > h4").each(function(i, n) { $(this).prepend("<span>" + (i+1) + ". " + "</span> "); }); }); $(函数(){ $(“.numbered>h4”)。每个(函数(i,n){ $(this.prepend(“+(i+1)+”); }); }); 这非常有
$(function() {
$(".numbered > h4").each(function(i, n) {
$(this).prepend("<span>" + (i+1) + ". " + "</span> ");
});
});
$(函数(){
$(“.numbered>h4”)。每个(函数(i,n){
$(this.prepend(“+(i+1)+”);
});
});
这非常有效,但我希望为每个容器(.number)重置计数。例如,我有一个包含四个h4的容器div,该代码将在该数字之前加上前缀,但不会为每个div重置。因此页面上的第二个div将从5开始计数,而不是从1开始。1是期望的结果。您需要循环遍历每个编号的
元素,然后在该循环中,循环遍历每个h4
元素。与此类似:
$(function() {
$(".numbered").each(function(i, n) {
$(n).children("h4").each(function(i,n) {
$(this).prepend("<span>" + (i+1) + ". " + "</span> ");
});
});
});
$(函数(){
$(“.number”)。每个(函数(i,n){
$(n).子项(“h4”)。每个(函数(i,n){
$(this.prepend(“+(i+1)+”);
});
});
});
如果您想让编号为
的每个的重新开始,请中断查找,以便分别执行两次
$(function() {
$(".numbered").each(function(_, numbered){
$('> h4', numbered).each(function(i) {
$(this).prepend("<span>" + (i+1) + ". " + "</span> ");
});
});
});
$(函数(){
$(“.numbered”)。每个(函数(u,编号){
$('>h4',编号)。每个(函数(i){
$(this.prepend(“+(i+1)+”);
});
});
});
我将另一个解决方案标记为正确,但您的解决方案也有效。非常感谢。