JSFiddle - React, Tailwind, and code Playground
HTML
<section class="row featured">
<div class="column four comment">
<img src="images/gallery/gallery-1.jpg" alt="">
<div class="content">
<h2>Lorem Ipsum</h2>
<p class="limit">Aliquam dolor odio, porta id mollis ullamcorper, imperdiet sit amet odio. In eleifend dapibus massa ac aliquam. Nullam vulputate lectus ac nunc molestie mollis.</p>
<button class="more align-right"><p class="highlight">Read more</p></button>
</div>
</div>
<div class="column four comment">
<img src="images/gallery/gallery-3.jpg" alt="">
<div class="content">
<h2>Lorem Ipsum</h2>
<p class="limit">Aliquam dolor odio, porta id mollis ullamcorper, imperdiet sit amet odio. In eleifend dapibus massa ac aliquam. Nullam vulputate lectus ac nunc molestie mollis.</p>
<button class="more align-right"><p class="highlight">Read more</p></button>
</div>
</div>
<div class="column four comment">
<img src="images/gallery/gallery-2.jpg" alt="">
<div class="content">
<h2>Lorem Ipsum</h2>
<p class="limit">Aliquam dolor odio, porta id mollis ullamcorper, imperdiet sit amet odio. In eleifend dapibus massa ac aliquam. Nullam vulputate lectus ac nunc molestie mollis.</p>
<button class="more align-right"><p class="highlight">Read more</p></button>
</div>
</div>
</section>
JavaScript
$('.limit').each(function(){
$(this).data('content', $(this).text())
$(this).data('limit', $(this).text().substring(0, 40))
$(this).text( $(this).data('limit'))
})
$('.more').click(function() {
var $this = $(this);
var elP = $this.siblings('p');
var length = elP.text().length;
if(length == 40){
elP.text(elP.data('content'));
}
else {
elP.text(elP.data('limit'));
}
});