Javascript 剔除HTML绑定和HTML的长度(以字符串为单位)
我有一个字符串包含html代码。所以我在视图中绑定如下Javascript 剔除HTML绑定和HTML的长度(以字符串为单位),javascript,jquery,html,knockout.js,Javascript,Jquery,Html,Knockout.js,我有一个字符串包含html代码。所以我在视图中绑定如下 <div data-bind="html : Notes()"></div> 现在,我想根据注释的长度向div添加一个类,而不使用Html元素 假设Notes=“Hello”,然后Notes.length=12(带and) 但是我需要替换所有html元素,并且我需要得到长度为5(Hello) 我怎样才能做到这一点呢 <div data-bind="html : Notes(), css:{myclass
<div data-bind="html : Notes()"></div>
现在,我想根据注释的长度向div添加一个类,而不使用Html元素
假设Notes=“Hello”
,然后Notes.length=12(带and)
但是我需要替换所有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;
});
您可以创建一个computed来创建虚拟元素并返回其文本长度,如下所示:
var noteLength = ko.computed(function() {
var tempElement = document.createElement("div");
tempElement.innerHTML = Notes();
return tempElement.innerText.length;
});
您可以通过css属性添加动态类,然后通过属性添加静态类。财产。有关详细信息,请访问以下链接。如果这不起作用,一定要告诉我
您可以通过css属性添加动态类,然后通过属性添加静态类。财产。有关详细信息,请访问以下链接。如果这不起作用,一定要告诉我
不使用htmltext@guradio:如果我使用文本,它将与所有元素一起显示为字符串。这里的问题不在于html绑定。我需要根据Notes()的长度检查条件,不带html元素。而不是使用htmltext@guradio:如果我使用文本,它将与所有元素一起显示为字符串。这里的问题不在于html绑定。我需要根据Notes()的长度检查条件,不带html元素。