在ol标签中少读多读

时间:2019-01-11 09:26:17

标签: javascript jquery html

我正在使用jquery进行更少的阅读切换,它将在文本中的第100个符号之后出现。

现在我有使用OL标签html中的第100个符号执行此操作的代码。它的工作方式与我想要的一样,但是标记中的第100个符号与文本中的第100个符号不同,因为它也计算标签。

public JsonResult GetClosedRMA()
{
    //Server side Parameters

    int start = Convert.ToInt32(Request["start"]);
    int length = Convert.ToInt32(Request["length"]);
    string searchValue = Request["search[value]"];
    string sortColumnName = Request["columns["+ Request["order[0][colmun]"]+ "][name]"];
    string sortDirection = Request["order[0][dir]"];

    List<RMAclosedCase> rmalist = new List<RMAclosedCase>();
    using (Namespace db = new Namespace())
    {
       rmalist = (from RH in db.RMA_History
                   join RS in db.RMAStatus on RH.StatusID equals RS.ID
                   where RH.SagesType == "LUK"
                   select new RMAclosedCase
                   {
                       Kundenavn = RH.Kundenavn

                   }).ToList();

       int totalrows = rmalist.Count();
            //Filter
            if (!string.IsNullOrEmpty(searchValue))
            {
                rmalist = rmalist.Where(x => x.Kundenavn.ToLower().Contains(searchValue.ToLower())).ToList();
            }
       int totalrowsefterfiltering = rmalist.Count();

        //Paging
        rmalist = rmalist.Skip(start).Take(length).ToList();

        return Json(new {data= rmalist,draw = Request["draw"], recordsTotal = totalrows,recordsFiltered = totalrowsefterfiltering },JsonRequestBehavior.AllowGet);
    }
}

我试图通过从文本中获取子字符串来确定html文本中第100个符号的位置,但是子字符串可能会更快出现在html中,甚至被标签打断。 有没有办法修改我的代码,以便在文本的第100个符号后出现“省略号”?

1 个答案:

答案 0 :(得分:0)

您还应该使用$(this).text()来跟踪剩余的“可用”字符,并且在每次迭代时,都应该更新该值。 然后知道要插入标记的位置,可以搜索indexOf您将显示的子字符串

类似的东西:

const maxShowChar = 100;
let showChar = maxShowChar;
const ellipsestext = "...";
const moretext = "Ещё";
const lesstext = "Скрыть";


$('.more').each(function () {
    var textContent= $(this).text();
    var content = $(this).html();
    if (textContent.length > showChar) {
    [...]
    const textC = textContent.substr(0,showChar);
    const c = content.substr(0, content.indexOf(textC));
    [...]
    }else{
    showChar = showChar - textContent.length;
    }
});