Ciao, la risposta è sì.
Come hai scritto tu, è possibile fare uno split del contenuto dei <div>, ottenendo quindi un array, e aggiungere il markup necessario per ogni elemento di tale array per poi riassegnare ovviamente il tutto al relativo contenuto di ciascun <div>.
Chiaramente si può fare in vari modi, anche con un replace.
Qui una possibile soluzione:
codice:
<!DOCTYPE HTML>
<html lang="it">
<head>
<title>Esempio</title>
</head>
<body>
<div class="comune">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi venenatis nibh sit amet mi elementum semper.
Quisque suscipit sem non est eleifend consectetur. Suspendisse malesuada massa lorem, id pharetra arcu iaculis a.
Aliquam in dolor vitae purus interdum vulputate vel ac augue. Nulla congue vehicula purus eget scelerisque.
Nullam suscipit metus id sem eleifend, ut molestie eros dictum. Curabitur faucibus urna nec ullamcorper pharetra.
</div>
<div class="comune">
Nunc eget lacus at arcu scelerisque gravida ut non lectus. Donec sit amet felis in justo hendrerit ornare eu sed risus.
Fusce suscipit, eros id cursus suscipit, urna orci ullamcorper velit, sed ultricies mauris enim sed quam.
Sed nibh ante, tempor ac eleifend non, sodales a massa. Phasellus ornare elementum semper.
Maecenas ullamcorper libero ex, eleifend porttitor lacus convallis a.
</div>
<script>
document.querySelectorAll('.comune').forEach(function(div) {
div.innerHTML = '<p>'+div.innerHTML.replace(/\./g,'.</p><p>')+'</p>';
});
</script>
</body>
</html>
.
Ti faccio però una domanda: perché dovresti fare questo in JavaScript?