Knockout.js 将生成的HTML敲除为普通HTML

Knockout.js 将生成的HTML敲除为普通HTML,knockout.js,Knockout.js,我有一个复杂的web应用程序,它广泛使用knockout。现在,我想将动态敲除绑定html的子集转换为静态html表示,例如 <div data-bind="style : { width : mywidth} "/> /** mywidth = 40px /**mywidth=40px 到 如何实现这一点?您可以通过获取父元素(#wrapper,在本例中)来获取当前呈现的HTML,然后创建一个新的DOM节点并将HTML放入其中,迭代所有元素并删除数据绑定属性,最后再次从中

我有一个复杂的web应用程序,它广泛使用knockout。现在,我想将动态敲除绑定html的子集转换为静态html表示,例如

<div data-bind="style : { width : mywidth} "/> /** mywidth = 40px 
/**mywidth=40px



如何实现这一点?

您可以通过获取父元素(
#wrapper
,在本例中)来获取当前呈现的HTML,然后创建一个新的DOM节点并将HTML放入其中,迭代所有元素并删除
数据绑定
属性,最后再次从中读取HTML:

var模型={
mywidth:ko.可观察(40),
gethtml:function(){
//获取当前HTML
var html=document.getElementById('wrapper').innerHTML;
//创建“假”元素来保存它
var d=document.createElement('div');
d、 innerHTML=html;
//在伪元素中循环所有子元素
var elements=d.getElementsByTagName('*');
//从每个数据库中删除数据绑定
对于(var i=0;i
div.ex{
边框:1px纯黑;
显示:内联块;
高度:20px;
}

设置宽度:
记录当前HTML

如果我正确理解您的问题,您可以使用开发人员工具选择根元素,并在应用程序呈现后复制外部html。我只想在js中执行此操作。您介意html副本上是否有原始数据绑定属性以及更新的样式等吗?实际上,我想删除数据绑定属性,我刚刚意识到样式属性已经设置好并且可以获得。可能重复-?
<div style='width:40px' />