使用grails生成html id的最佳实践
Best practice for generating html ids with grails
我有一个可以在同一视图中多次渲染的模板。
该模板包含一个表单,我使用html id将一些jquery事件监听器附加到表单元素。
目前,我正在使用"g:set"在模板顶部创建一个elementId变量,使用以毫秒为单位的当前时间,并将其附加到表单上的每个元素。这样,无论同一模板渲染多少次,每个表单元素在页面内都将具有唯一的id。
我的方法是有效的,但在我看来,必须有更好的方法来实现我想做的事情?
以下是我的方法示例:
<g:set var="elementId" value="${'elementId-' + new Date().getTime()}" />
<form>
<g:textField id="${elementId}name" name="name"/>
<g:textField id="${elementId}address" name="address"/>
</form>
<script>
$("#${elementId}name").on("click", myFunction())
$("#${elementId}address").on("click", myFunction())
</script>
虽然这样做可能会让人觉得有点"奇怪"或"奇怪",但你的方法会实现你想要的。添加您在GSP级别生成的随机数或UUID也将有助于避免冲突(尽管这可能有些过头了)。
Grails并没有以这种方式提供任何帮助。由于这是浏览器中如何处理元素的问题,DOM和Grails通常会处理服务器端的问题。
另一种选择是重构代码,使其不依赖于元素id,而是更通用的、基于分类的代码。使用类名是一个不错的方法。根据您的要求,这可能工作得很好,也可能不工作。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 在保持元素一致性的同时旋转数组元素的最佳方式'id
- 使用grails生成html id的最佳实践
- 关联变量及其 ID 的最佳方式
- 自动分配 ID 的最佳做法
- 关于唯一id的数据结构最佳实践's
- 在外部javascript文件中获取asp控件ID的最佳方式是什么
- 对要用作html有效路径的路径进行编码的最佳方式“;id”;或“;name”;标签
- 隐藏具有特定ID的元素的最佳方法是什么;不会影响性能
- 使用Javascript通过ID查找元素的最佳性能.数组或对象
- Javascript/NodeJS:通过对象数组/集合中的id查找特定对象的最佳方法
- 获得youtube视频ID并将其批量放入此格式的最佳方法
- 处理具有相同id的元素的单击的最佳方法
- 使用Catberry Framework构建唯一组件id的最佳实践是什么?
- 查找具有与另一个元素数据属性匹配的id的元素的最佳方法
- 给定一个id列表,查询集合中不存在哪些id的最佳方法是什么?
- 从以不同方式编写的URL中获取id的最佳方式是什么
- 哪里是在客户端上放置数据库ID的最佳位置
- 积累物品的最佳方式是什么'ID,然后再将其发送到服务器