Ich möchte readmore/less Funktion zu implementieren. dh ich werde mit HTML-Inhalt und ich werde zu zeigen, die ersten paar Zeichen aus, dass der Inhalt und es wird ein mehr lesen Link vor ihm sein. Ich verwende derzeit diesen Code:
var txtToHide= input.substring(length);
var textToShow= input.substring(0, length);
var html = textToShow+ '<span class="readmore"> … </span>'
+ ('<span class="readmore">' + txtToHide+ '</span>');
html = html + '<a id="read-more" title="More" href="#">More</a>';
Die obige Eingabe ist die Eingabezeichenkette und Länge ist die Länge der Zeichenkette, die anfangs angezeigt werden soll. Es gibt ein Problem mit diesem Code, angenommen, ich möchte 20 Zeichen aus dieser Zeichenfolge entfernen: "Hello <a href='#'>test</a> output"
Die Html-Tags kommen dazwischen, und es wird die Seite durcheinander bringen, wenn man sie teilweise entfernt. Was ich hier will, ist, dass, wenn html-Tags zwischen den Bereich fallen, sollte es den vollen Tag abdecken, d.h. ich brauche die Ausgabe hier zu sein "Hello <a href='#'>test</a>"
. Wie kann ich das tun?