通常,在执行对我的服务器的AJAX调用的页面上,我需要代表正在查看的页面的ID。我目前正在将其存储在隐藏的< input>元素,然后访问并存储在我的jQuery doc ready调用顶部的JS变量中。
我一直在考虑将其移动到body元素上的一个data-id属性,然后我将使用$(‘body’)。data(‘id’);.
使用HTML5数据属性有什么优势,反之亦然吗?性能?安全? “最佳实践”?
我的理解是,所有浏览器都可以访问数据属性,因此处理IE不是一个问题。
由于这些属性未在POST中提交给服务器,因此您需要牢记JavaScript禁用的浏览器中会发生什么。如果您的页面也应能够通过传统的表单提交,如果需要,可以正常降级并执行相同的AJAX请求功能,则仍然需要隐藏的字段。
也就是说,当他们有意义的时候,我是数据属性的粉丝,特别是在严格的“应用程序”类型的网站上,您可以安全地使用JavaScript。标记具有data-id属性的表行比在其一个单元格中填充隐藏字段更好。特别加上jQuery对.data()方法的很好的数据属性支持,这样在隐藏的字段可能有点凌乱的情况下,可以实现干净直观的代码。