Obetnij akapit 100 pierwszych znaków i ukryj zawartość reszty akapitu, aby pokazać / ukryć resztę konturu za pomocą mniej / więcej linków

Mam akapit, który ma ponad 500 znaków. Chcę uzyskać tylko początkowe 100 znaków i ukryć resztę. Chcę też wstawić link „Więcej” obok 100 znaków. Po kliknięciu większej liczby linków cały akapit powinien wyświetlać i edytować tekst „Więcej” do „Mniej”, a po kliknięciu „Mniej” powinien zmienić zachowanie. Akapit jest generowany dynamicznie Nie mogę zawinąć jego zawartości za pomocą .wrap (). Oto przykład tego, co mam i czego chcę.

Oto co mam:

  <p>It is a long established fact that a reader will be distracted by the readable 
   content of a page when looking at its layout. The point of using Lorem Ipsum is that
   it has a more-or-less normal distribution of letters, as opposed to using 'Content 
  content here', making it look like readable English. Many desktop publishing packages 
   and web page editors now use Lorem Ipsum as their default model text.</p>

Tego właśnie chcę, gdy ładuje się DOM

 <p>It is a long established fact that a reader will be distracted by ..More</p>

Tego właśnie chcę, gdy użytkownik kliknie „Więcej”

   <p>It is a long established fact that a reader will be distracted by the readable 
   content of a page when looking at its layout. The point of using Lorem Ipsum is that
   it has a more-or-less normal distribution of letters, as opposed to using 'Content 
  content here', making it look like readable English. Many desktop publishing packages 
   and web page editors now use Lorem Ipsum as their default model text. ..Less</p>

Kiedy klikniemy „Mniej”, powinniśmy cofnąć to, co kliknęło „Więcej”.

Używam jQuery do dzielenia, wycinania i zawijania podciągów w zakres, który chcę ukryć, ale to nie działa.

var title = $("p").text();
var shortText = jQuery.trim(title).substring(100, 1000).split(" ")
    .slice(0, -1).join(" ") + "...More >>";
shortText.wrap('</span>');

questionAnswers(6)

yourAnswerToTheQuestion