jquery - 可以使用 .attr 创建自定义属性吗?

标签 jquery

我想为元素分配自定义值。看来 .attr(customName, value) 可以很好地解决这个问题。如果该属性不存在(也不会存在),jQuery 将创建它并放入我提供的值中。稍后我可以使用 .attr(customName) 读取该值,就好像它是正常的 HTML 已知属性一样。我知道有一个 HTML5 .data() 方法可以处理这种事情,但它不是持久的。如果我将 html 移至磁盘然后检索它,则使用 data() 设置的任何内容都将消失,而 .attr() 直接进入 HTML。

我在 .attr() 文档中没有看到,如果它无法识别您提供的内容,就可以保证创建一个新的 attr 名称,所以我有点紧张。这样使用 .attr() 安全吗?谢谢。

最佳答案

是的,你可以做到。但是,它不是有效的 HTML。您要做的就是创建一个新的 XHTML 分支。您可以创建自己的 DTD 来进行验证,但这可能没有必要。

请记住,您可能会遇到某些浏览器(尤其是旧版本的 IE)的问题。然而,大多数浏览器只会忽略未知的属性,因此您可以随意使用它们。无论您是否关心 HTML 是否无效,都由您决定,但出于实际目的,只要您避免某些保留的属性名称(例如 idclass),它就可以正常工作。 )。

但是,您可能想退一步并重新评估您想要完成的任务,因为可能有更好的方法在文档中存储持久数据。

关于jquery - 可以使用 .attr 创建自定义属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18236897/

相关文章:

javascript - 在提交之前从表单的参数中删除空值

jquery 淡入回调不等待

javascript - 同步jquery调用 - 如何等待jquery方法执行完成?

javascript - javascript 中的谷歌地图 api 客户端 json

javascript - 在 jQuery 中使用动态 div ID

javascript - 如何保存可拖动对象的位置

javascript - Firefox 中的“事件”等效项

javascript - Twitter Bootstrap 的工具提示问题

javascript - 插入有序数组的计算效率最高的方法?

php - 如何使用 jquery 将外部页面加载到 div 中?