javascript - knockout HTML 绑定(bind)和 HTML 字符串长度

标签 javascript jquery html knockout.js

我有一个带有 html 代码的字符串。所以我在 View 中绑定(bind)

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

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

假设Notes = "<b>Hello</b>" ,然后Notes.length = 12 (With <b> and </b>)

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

我怎样才能实现下面这一行。

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

最佳答案

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

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

  return tempElement.innerText.length;
});

关于javascript - knockout HTML 绑定(bind)和 HTML 字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36907748/

相关文章:

jquery - 使用 MVC 从标准 Html 表单回发部分 View

jquery - Selenium 测试中 $ 未定义错误

html - 无法让剪辑路径与外部 svg 一起使用

php - 无法读取未定义的属性 'readyState'

javascript - 在构建 Electron 产品时如何提供自己的版本

javascript - 为什么不能在 nodeList 上调用 forEach?

javascript - 当我提交表单时,仅从多输入名称给出一个值

javascript - PHP 相当于 Javascript XMLHttpRequest

javascript - 进行自定义布局的更好方法

javascript - 通过jquery清除浏览器保存的密码