Meine jquery Vorlage ist sehr einfach, dieWie kann ich von analysiert html in jquery.tmpl Teilkette
<div id="pageArticleTemplate" class="hide-me">
<article class="post-item">
<div class="wrapper row">
<div class="meta">
${getArticleDateFormat(createdDate)}
</div>
<h2>${title}</h2>
<div class="excerpt text-justify">
{{html description}}
</div>
</div>
</article>
</div>
ist ich diese Vorlage in meiner js Datei verwenden als:
var markup = $("#pageArticleTemplate").html();
$.template("pageTemplate", markup);
$.tmpl("pageTemplate", data).appendTo("#articles");
wo Daten sind die tatsächlichen Daten, die ich wiederholen möchte. und Artikel ist ein weiteres div-Element auf der Seite. Es funktioniert gut, aber Problem ist manchmal Beschreibung ist zu lang und ich möchte nur die ersten 500 Zeichen anzeigen. Wie Sie sehen, ist die Beschreibung HTML-Inhalt und ich habe bereits versucht mit der Funktion wie ich für createdDate (function getArticleDateFormat{}
)
Bitte versuchen Sie eine Lösung. Danke
Vielen Dank @Boris. Ich schätze deine Antwort sehr. Ich weiß, dass dies kein Template-Problem ist. Können Sie mir helfen, wie kann ich geparste HTML von hier aus kürzen. Es ist wirklich eine tolle Template-Bibliothek und ich möchte nicht den ganzen Code-Ersatz nur zum Abstumpfen durchlaufen. Ich habe keine Ahnung, wie ich mit meinem Code verfahren soll. Danke im Voraus. –
Sie sollten '{{html truncate (description, 500)}}' tun können, wo Sie die Funktion 'truncate()' angeben. Eine Möglichkeit, diese Funktion auszuführen, besteht darin, das Beschreibungs-Markup in ein temporäres DIV-Element einzufügen und etwas wie jQuery 'contents()' oder 'querySelectorAll (*)' zu verwenden, um alle Knoten einschließlich Textknoten zu erhalten. Iteriere durch sie und entferne oder trenne die am Ende. Dann nimm das innerHTML des divs wieder und gib das zurück ... – BorisMoore