我有一个页面,其中有许多按钮可以使用javascript执行操作。这里没问题,只是一个html页面和多个.js文件,每个动作都有一个.js文件。只是为了分离一些东西,让一切都更容易管理。我将编写一个脚本,在部署时将它们组合在一起。
我的很多javascript动作需要html元素才能运行。例如,要更改颜色,color.js需要带有表单元素的div,以便用户可以更改颜色并按下按钮以保存更改。 color.js将函数绑定到按钮的onClick等。这里没问题。
当使用许多html元素进行许多javascript操作时会出现问题。所有这些html元素都需要放入一个html页面。这使管理事情变得复杂。例如,当我更改颜色字段ID时,我需要转到color.js并进行更改。另外,我必须在我的巨大html页面中找到html元素并进行更改。
是否可以将我的javascript操作所需的html元素放入.js文件中并以某种方式将其包含在我的html页面中?
当然,我可以转义所有html元素并将其放入javascript变量并document.write它。但逃避并不是一件好事,事后更改HTML会非常痛苦。
我也不是在寻找一个ajax函数,导致许多不同的操作会导致网络问题。
欢呼任何关于这个主题的想法!
答案 0 :(得分:1)
您可以使用模板通过JavaScript生成动态HTML。大多数模板引擎具有相同的实现:
我使用了一些模板引擎,其中一个是 Hogan.js ,它具有友好的含糖语法,非常易于使用,但性能较低。它实现了 Mustache 语法。
其他模板引擎位于 Underscore.js 库中,它不提供糖语法,而是提供原生javascript语法,提供更强大的功能和最佳性能。
我使用的最后一个是 kendo-ui templates 。
Kendo UI templates 非常重视功能过剩的性能。它将交换方便的“语法糖”以提高性能。
如果您想尝试更多引擎,可以在这里获得很多引擎:
<小时/> 另一方面,如果您只想加载静态HTML(例如静态视图),则可以使用 jQuery.load(url) 从服务器加载数据并将返回的HTML放入匹配的元素中。 .load() 是 jQuery.ajax()
的简写方法
<小时/> Recomendation:无论您选择哪个选项,我建议使用缓存来保存视图或保存已编译的模板,从而通过避免请求相同资源来提高性能。