我有这个代码:
try {
var _o, _l, i, _d = new Array(), _c;
_o = JSON.Parse( Request.Response );
for ( i = 0, _l = _o.length; i < _l; i++ ) {
_d[ i ] = document.createElement('div');
_c = document.getElementById('comentsContainer');
_c.removeChild( _c.firstChild );
_d[ i ].className = 'comment-user';
_c.appendChild( _d [i] );
}
}
catch ( w ) {
console.log( w );
}
问题是,这样更好还是我应该使用 innerHTML ?
添加:要解析的对象:
"comments" : [
{ "user" : "foo", "comment" : "foo", "date" : "foo/foo/bar", "id_comment" : "bar" },
{ /* the same as above x10 */ }
]
请注意,我想将每个数组中的每个对象解析为 DOM 元素
最佳答案
由于您在这里已经有了数据的结构表示(而不是要解析的原始 HTML),我想说您的方法(使用 DOM 操作方法)比使用围绕 .innerHTML 构建的方法更有意义
。在某些情况下,.innerHTML
已显示出性能上的优势,但我不确定在具有良好 JavaScript 引擎的现代浏览器上是否属于这种情况。此外,将 HTML block 放入 innerHTML
属性可能会带来很多好处,因为无论如何,您都必须从 JSON
表示构建该 HTML,这将也需要时间。由于您必须处理 JSON
对象,因此使用 DOM 操作方法是一种明智的设计方法。
关于javascript - JSON 到 DOM 或 innerHTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10005743/