I have an issue with css counter-reset
in a selector on a dynamic property, but only in Safari browser.
<p numbered="1">para</p>
<p numbered="1">para</p>
<p numbered="1">para</p>
<p numbered="1">para</p>
<p numbered="1" id="test" restart-numbering="true">para</p>
<p numbered="1">para</p>
<br><br><br>
<button onclick='toggle()'>
Toggle
</button>
js:
function toggle() {
let el = document.querySelector('#test');
let restarting = !!el.getAttribute('restart-numbering');
if (restarting) {
el.removeAttribute('restart-numbering');
} else {
el.setAttribute('restart-numbering', true);
}
}
css:
p[numbered="1"] {
counter-increment: numbered1;
}
p[numbered="1"]:before {
content: counter(numbered1)'.';
}
p[numbered="1"][restart-numbering="true"] {
counter-reset: numbered1;
}
When loaded the first time, paragraph numbering is reset correctly: 1,2,3,4,1,2
Press the toggle
button twice, which brings the html to the original state and get 1,2,3,4,4,5