knockout - 从标题绑定中删除html标记

时间:2016-06-14 06:06:30

标签: knockout.js

我们如何删除源自<p>的{​​{1}}代码?

tntDesc

我希望能够从<p class="desc" data-bind="html: tntDesc, attr: { title: tntDesc }"></p> 绑定中删除它们。

1 个答案:

答案 0 :(得分:4)

您想要的是在绑定到属性之前从值中去除html标记。请参阅下面的代码段(剥离标记的代码:https://stackoverflow.com/a/5002618/4602079)。

更奇特的方法是使用ko.punches并实现stipTags作为文本过滤器。请参阅:https://mbest.github.io/knockout.punches/

&#13;
&#13;
var vm = {
  description: "<p>Hello world</p>"
}

function stripTags(input){
    var div = document.createElement("div");
    div.innerHTML = input;
    return div.textContent || div.innerText || "";
}

ko.applyBindings(vm);
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>

<div data-bind="html: description, attr: { title: stripTags(description) }"></div>
&#13;
&#13;
&#13;