【问题标题】:Knockout HTML binding and length of HTML in terms of string敲除 HTML 绑定和 HTML 的字符串长度
【发布时间】:2016-04-28 15:33:58
【问题描述】:

我有一个包含 html 代码的字符串。所以我在视图中绑定了

<div data-bind="html : Notes()"></div>

现在我想根据没有 Html 元素的 Notes 长度向 div 添加一个类。

假设 Notes = "&lt;b&gt;Hello&lt;/b&gt;" ,然后 Notes.length = 12 (With &lt;b&gt; and &lt;/b&gt;)

但我需要替换所有 html 元素,并且需要将长度设为 5(Hello)。

我怎样才能做到这一点。

<div data-bind="html : Notes(), css:{myclass : Notes().length > 5}"></div>

【问题讨论】:

  • 用文本代替html
  • @guradio:如果我使用文本,它将以字符串形式显示所有元素。这里的问题不在于 html 绑定。我需要根据没有 html 元素的 Notes() 长度检查条件。

标签: javascript jquery html knockout.js


【解决方案1】:

您可以创建一个计算来创建一个虚拟元素并返回其文本长度,如下所示:

var noteLength = ko.computed(function() {
  var tempElement = document.createElement("div");
  tempElement.innerHTML = Notes();

  return tempElement.innerText.length;
});

【讨论】:

    【解决方案2】:

    你可以通过css属性添加动态类,然后通过attr添加静态类。财产。详细信息可在以下链接中找到。如果这没有帮助,请告诉我。

    combine dynamic and static classes through css binding, knockout.js

    【讨论】:

      猜你喜欢
      • 2014-06-27
      • 1970-01-01
      • 2011-05-04
      • 2020-10-08
      • 2014-12-09
      • 2016-08-24
      • 2013-06-11
      • 1970-01-01
      • 2012-05-06
      相关资源
      最近更新 更多