正在寻找一种分离Javascript和HTML的好方法
Looking for a good way to separate Javascript and HTML
我刚刚开始使用jquery,所以我需要确保我做得很好。我现在就解释一下我的想法,请告诉我你的想法。
首先,我认为服务器的html输出应该主要针对那些没有js或存在浏览器错误的用户。这样,我希望这个页面能为每个人服务。
然后我认为jquery应该有隐藏的数据和模板,用来修改页面。
我不知道模板应该是什么格式。一个想法是把它做成这个
<div id="checkbox-template" class="templatedefinition" style="visibility:hidden">
<input type="checkbox"><label></label>
</div>
这将是完美的,我认为,但我有我的怀疑。另一个想法是使用
$(document.createElement())
然后有几个选项可以处理数据。我试过这样简单的东西:
var fruits= new Array(
// id - Label - info
new Array("orange","Orange","some info"),
new Array("apple","Apple","some info"),
new Array("banana","Banana","some info")
);
现在我已经准备好为水果构建复选框并修改原始页面。但在我开始在我的所有解决方案中做这样的事情之前,如果能知道这样的事情是否可行,那就太好了。
首先让我说,你的问题没有硬性规定,imo它可以归结为个人对特定情况的偏好。以下是一些可以帮助您的注意事项:
首先,我认为服务器的html输出应该主要是对于那些没有js或者有浏览器错误的人。那样的话页面将为每个人工作,我希望。
你说的是";渐进增强";这是一种策略;可访问性";到您的网站。要做到这一点,在添加Javascript以增强那些启用了Javascript的用户的体验之前,您需要计划并开发一种适用于那些没有启用Javascript的人的用户体验。你应该在你的设计中计划什么样的功能是";丢失";当Javascript不可用时——简单地说——好";可访问性";当主要任务像说";提交表格";在没有Javascript的情况下仍然可以工作。
您还询问,是应该在html中输出仅用于"增强Javascript体验"的隐藏html元素,还是应该使用Javascript动态"生成"它。这就引出了另一个术语——";Unobtrusive JavaScript";。
一种观点是,永远不要在html页面中放任何只适合javascript体验的东西,并使用javascript本身将这些东西添加到DOM中。这样做的好处是,您将拥有一个更干净、更轻量级、更便携的html页面。
另一种思想流派是"少";纯粹主义者;以及更多";实用"-意思是做最有效的事。如果你可以简单地将额外的代码直接添加到HTML页面并用css隐藏它,那么就不要额外写100行Javascript代码,也不要额外花2个小时。
我个人认为,作为程序员,我们在做出这些决策时应该始终考虑业务价值。问问自己;我应该花多少时间做这件事&"我是在为5亿还是500万用户创建一个网站&";。基本上,不要用手榴弹杀死老鼠;)
- Javascript html每点击一次就会更改url
- 通过javascript/html访问twitter共享iframe
- 使用鼠标悬停JavaScript/HTML显示文本
- JavaScript-HTML表单到JSON(空值)和格式
- 使用javascript html实时预览文本区域输入
- 如何每秒从一个变量中提取一定次数的javascript/html
- 使用变量值作为'名称标识符'javascript/html
- JavaScript HTML Onclick
- 非侵入性Javascript HTML注入
- AppendChild Form / Table [Javascript/Html/PHP]
- 按钮don't使用onClick-Javascript HTML重定向
- 在库(javascript/HTML)中将“name”替换为“id”
- 如何确定使用 javascript/html 单击了哪个对象/图像
- 新的javascript HTML元素不遵循css规则
- JavaScript/HTML 错误的解决方案
- 从图像URL javascript html保存图像文件
- javascript html使用webstorage保存表单
- Javascript+HTML中的日期选择器准备好了吗?(需要:DD、MM、YY的单独字段加上日历选择器)
- 谷歌地图/融合表Javascript HTML赢得't显示/可视化所有多边形数据(通过色标)
- JavaScript/HTML命令行小部件