使用jQuery截断字符串文本

ttp71kqs  于 2023-10-17  发布在  jQuery
关注(0)|答案(1)|浏览(114)

我有一个Razor视图Html.DisplayFor,我在其中显示一些文本。现在我想使用jQuery截断文本。我使用的jQuery代码来自jQuery Truncate
在我的csHtml中,我有如下内容,BlogContent是我绑定的一些字符串。当然,我认为我可以在C#中对BlogContent进行SubString等截断。但是我想用jQuery。我试过下面的代码,但没有运气。

  1. @{
  2. Layout = null;
  3. }
  4. <div class="blog-post-body">
  5. <p class="p-bottom-20">@Html.DisplayFor(modelItem => item.BlogContent)</p>
  6. </div>
  7. @section scripts
  8. {
  9. <script src="~/js/jquery.min.js"></script>
  10. <!-- Bootstrap -->
  11. <script src="~/bootstrap/js/bootstrap.min.js"></script>
  12. <script>
  13. $(document).ready(function () {
  14. $('ul.pagination > li.disabled > a').addClass('page-link');
  15. truncateText(".p-bottom-20", 100);
  16. });
  17. function truncateText(selector, maxLength) {
  18. $(selector).text((i, txt) => txt.length > maxLength ? txt.substr(0, maxLength) + "..." : txt);
  19. };
  20. </script>
  21. }

我在浏览器控制台上没有看到任何与此相关的错误。

plicqrtu

plicqrtu1#

如果你使用的是Layout = null;,那么@section Scripts就不起作用,因为这个部分是在_Layout.cshtml中定义的。你必须在视图中添加一个完整的html文档。

  1. @{
  2. Layout = null;
  3. }
  4. <!doctype html>
  5. <html lang="en">
  6. <head>
  7. <meta charset="utf-8">
  8. <meta name="viewport" content="width=device-width, initial-scale=1">
  9. <title>title</title>
  10. </head>
  11. <body>
  12. <div class="blog-post-body">
  13. <p class="p-bottom-20">@Html.DisplayFor(modelItem => item.BlogContent)</p>
  14. </div>
  15. <script src="~/js/jquery.min.js"></script>
  16. <script src="~/bootstrap/js/bootstrap.min.js"></script>
  17. <script>
  18. $(document).ready(function() {
  19. $('ul.pagination > li.disabled > a').addClass('page-link');
  20. truncateText(".p-bottom-20", 100);
  21. });
  22. function truncateText(selector, maxLength) {
  23. $(selector).text((i, txt) => txt.length > maxLength ? txt.substr(0, maxLength) + "..." : txt);
  24. }
  25. </script>
  26. </body>
  27. </html>
展开查看全部

相关问题