0

我从 REST api 以 JSON 的形式获取文本。我这样显示这些数据:

$("#mytext").html(item.text);

但是,有时此文本太长。...more发生这种情况时,我想在末尾显示带有链接的文本子集。更多链接会将用户带到另一个页面。

我正在这样做:

if (item.text.length > 100)
  $("#mytext").html(item.text.substring(0,95)"+"....");  
else 
  $("#mytext").html(item.text);

如何附加更多链接?链接需要转到/moreinfo/${item.id}

4

4 回答 4

2

我会避免使用.html. 如果您只处理文本,为什么不使用.text()?如果您在没有保护的情况下解析直字符串时遇到潜在的错误,您以后只会感谢自己。

尝试这个。

if (item.text.length > 100) {
  $('#mytext').text(item.text.substring(0, 95));
  $('<span>more</span>').appendTo($('#mytext'));
} else {
  $('#mytext').text(item.text);
}
$('#mytext span').click(function () {
  $('#mytext').text(item.text);
});

我确信必须有一种方法可以很好地制作动画。

于 2013-07-31T18:35:07.297 回答
0

您可以添加更多这样的链接 -

if (item.text.length > 100)
  $("#mytext").html(item.text.substring(0,95)+"...."+"<span class='more'>more</span>");  
else 
  $("#mytext").html(item.text);

并点击更多链接,显示全文 -

$(document.body).on('click','.more',function(){
  $("#mytext").html(item.text);
});
于 2013-07-31T18:13:53.767 回答
0

就像是:

var url = "/moreinfo/${item.id}";
$("#mytext").html(item.text.substring(0,95)+"....<a href='"+url+"'>more</a>");
于 2013-07-31T18:13:13.080 回答
0

只需将元素放在那里

IE。

$("#mytext").html(item.text.substring(0,95)"+"....<a href=\"/moreinfo/"+item.id+"\">more</a>"); 
于 2013-07-31T18:13:50.520 回答