JSFiddle - React, Tailwind, and code Playground

HTML

<div id="long-text">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tincidunt dapibus dui, quis tristique sem rhoncus sed. Aliquam vel diam vitae sapien consectetur fringilla nec vel sapien. Nullam vitae aliquam risus. Aliquam ex enim, placerat ut commodo at, luctus viverra velit. Sed imperdiet sem quam, sed aliquam augue faucibus nec. Praesent eu sagittis augue. Morbi eget hendrerit augue. Aenean nisl urna, posuere et posuere id, accumsan vel nisl.</p>
<p>
Vestibulum ac dui sit amet nunc pretium sagittis. Maecenas lacinia, quam in vestibulum vehicula, felis sapien maximus quam, quis tristique massa leo sit amet mauris. Duis sed euismod nisl, id lobortis lectus. Phasellus et nisi elementum, pulvinar leo at, iaculis lacus. Aliquam turpis mi, cursus a faucibus sit amet, convallis a nulla. Quisque sed massa tempus, mattis diam ut, accumsan erat. Vivamus egestas egestas turpis at suscipit. In hac habitasse platea dictumst. In id orci quis tellus luctus feugiat a ut sapien. Sed et hendrerit tellus. Praesent porta augue et finibus congue. Praesent et felis metus.<p>
<p>
Morbi sit amet hendrerit turpis, vitae pharetra ante. Vestibulum rhoncus vitae mi vitae finibus. Integer a erat non metus aliquam vehicula. Aenean molestie sapien sem, vitae sodales neque ornare ac. Maecenas cursus est sodales nisl accumsan, in imperdiet ex ultrices. Vestibulum consectetur elementum dolor, at tincidunt ex dignissim vel. Aliquam magna quam, porttitor non arcu in, pellentesque laoreet lectus.</p>
<p>Nam nec ipsum vestibulum, bibendum justo sit amet, suscipit ligula. Cras laoreet tellus feugiat, blandit justo nec, pharetra tellus. Curabitur egestas condimentum nisi, eget molestie odio commodo sit amet. Nam dapibus risus nec nulla accumsan porta nec eu eros. Pellentesque mollis placerat sapien sed scelerisque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque tortor ex, tincidunt vel metus ac, gravida finibus nulla....

CSS

.chunk {
  display: none;
}
.chunk.in {
  display: block;
}

.chunk.in + .trigger {
  display: none;
}

JavaScript

function chunkText(length) {
	var words = $(this).text().split(" ");
  var res = [$(this)];
  if (words.length > br) {  
    var overflow = $(this).clone();            
    var keepText = words.slice(0,length);
    $(this).text(keepText.join(" "));
    overflow.text(words.slice(length).join(" "));    
    res = res.concat(chunkText.call(overflow, length));
    
	} 
  return res;
}

var br = 10;

$("#long-text > *").each( function () {
		var chunks = chunkText.call(this,br);
  	$.each(chunks, function (i,v) {
  	  $("#long-text").append($("<div>").addClass("chunk").append(v)).append($("<div>").addClass("trigger").text("clickme"));
    });
		
});

$(".chunk:first").addClass("in");


$(".trigger").on("click", function () {
		$(".in").removeClass("in");
    $(this).prev().addClass("in");
});