JSONML与InnerHTML vs.?

时间:2009-02-06 06:05:57

标签: javascript dom

首先,我是唯一一个使用JSONML的人吗?第二,你会建议使用JSONML插入动态HTML还是更高效的InnerHTML?

3 个答案:

答案 0 :(得分:3)

请记住(在IE中)不是每个innerHTML都是可写的(无论如何,innerHTML都不是标准的编译)。你越来越接近节点而不是插入html,你就更好了。据我所知,jsonml thingie创建了很好的DOM元素。我只能用你来制作一些巨大的数据集,以两种不同的方式插入它并自己测量性能。

答案 1 :(得分:2)

虽然表面上用于执行类似的任务,但JsonML和innerHTML是完全不同的野兽。

innerHTML要求您准确地准备好所有标记,这意味着服务器正在呈现标记,或者您在JavaScript中执行昂贵的字符串连接。

JsonML通过JBST为客户端模板打开了大门,这意味着您的模板在构建时从HTML标记转换为JavaScript模板。在运行时,您只需提供数据,最终就会插入要插入的DOM元素或替换现有元素(如果没有额外的DOM创建,innerHTML就无法轻松完成)。重新绑定仅需要请求其他数据,而不是整个重新呈现的标记。这是可以获得大幅性能提升的地方,因为标记可以与数据分开请求/缓存。

为简单起见,innerHTML一直是Ajax的HTML-Message模式样式的首选方法。但是像JsonFx这样的工具集可以使用JsonML和JBST同样轻松,同时提供完整的浏览器端模板化Ajax模式。

答案 2 :(得分:1)

JsonML和连接库(模板等)似乎提供了一种在客户端生成动态HTML的有效方法。

当我说效率时,我的意思是,我的意思是程序员在完成任务时不会浪费时间或精力。但是我不确定你是否想要询问使用innerHTML是否更快,并且在客户端需要更少的资源。