附加对象到innerHTML,并从innerHTML获得该对象
append object to innerHTML and get that object from innerHTML
在jsfiddle中有一个例子。
我想知道我是否可以将一个javascript对象附加到innerHTML中,从而再次从innerHTML中获得该对象作为对象。
,
alert((this.innerHTML).html);
这只是一个例子,不要问我你为什么需要这个?我试图编辑现有的代码,我必须这样做。我必须通过div. innerhtml传输一个对象。
检查这个文件。在其中,我将对象作为'data-'属性添加到div中,并使用JSON将其转换为字符串。之后,向div添加一些注释会触发DOMSubtreeModified
-处理程序,在该处理程序中检索并提醒对象的"html"部分。这有什么好处理的吗?
在这种情况下,很可能您唯一的选择是将对象转换为字符串,然后将其放入元素中。(这是通过循环遍历键、值来实现的。)
您可以将此过程反向转换回obj。
我知道一些javascript库有帮助函数,使这个过程非常简单。
您可以尝试将数据直接添加到dom元素中,而不是作为其内容。
tempDiv.objData = myObject;
建议使用JSON,但不使用代码。所以:
function addObjAsJSON(el, obj) {
el.setAttribute('data-myJSON', encodeURIComponent(JSON.stringify(obj)));
}
function getObjAsJSON(el) {
return JSON.parse(decodeURIComponent(el.getAttribute('data-myJSON')));
}
应该允许您添加任何东西作为序列化对象,然后获取它。你应该添加一些错误检查,使它健壮(例如,检查你从调用getAttribute得到一个字符串)。
对于没有内置JSON支持的用户代理,请参阅json.org,在javascript部分有到JSON .js的链接。
相关文章:
- 找到对象中值最高的键,然后将其发布到innerHTML中
- 'innerHTML':对象为空或未定义
- 如何在由 JavaScript 窗口对象打开的窗口中设置某些元素的 innerHTML
- TypeError:undefined不是一个对象(正在评估'msg.innerHTML="Uploa
- Microsoft JScript运行时错误:无法获取属性'的值;innerHTML':对象为null或
- IE8:“;ln.innerHTML要么为null要么不是对象”;
- 使用innerHTML来更改页面中动态创建的对象
- 附加对象到innerHTML,并从innerHTML获得该对象
- 对象标签添加innerHTML总是空的onload
- 为什么我的innerHTML对象没有改变时分配
- Internet Explorer的innerHTML对象不支持此属性或方法
- 从返回的表单对象中读取InnerHTML
- 当对象正在加载时,在innerHTML中显示LOADING
- javascript:如何插入对象到innerHtml
- 如何创建ActiveX's m_hWnd HWND,同时使用InnerHTML生成对象
- 如何将对象传递给innerHTML (JavaScript)中的函数
- Javascript对象.innerHtml没有替换所提供的整个字符串参数
- 通过jQuery选择器从对象中获取innerHTML
- innerHTML在jQuery对象上使用时不能正常工作
- 我如何从innerHtml创建一个jQuery对象