我最近一直在各种 HTML 元素中使用 title 标签,以在 DOM 中存储 JSON 格式的数据。
这是一个糟糕的方法吗(我假设是)?使用 jQuery 来完成这个工作的正确方法是什么?我所说的“运行良好”是指
$("myButton").click(function (e) {
var myData;
eval("myData=" + $(this).attr("title"));
});
工作得很好,但我再次假设有更好的方法来做到这一点,不是吗?
PS:顺便说一句,HTML 元素的标题标签实际上是如何工作的?我似乎无法找到它实际最终被使用的地方?
PSS:我还能获得基于 jQuery 和非 jQuery 的响应吗? (不好意思打扰了)
最佳答案
eval("myData=" + $(this).attr("title"));
这几乎是打你耳光的合法理由! (j/k)
您应该使用自己的命名空间对象来“全局”存储数据。在这种情况下,全局仅意味着您的应用程序代码中的全局对象,而不是使用全局对象
(浏览器中的window
)。
var my_application = {};
$('myButton').click(function() {
my_application.myData = $(this).attr('title');
});
这当然是一个非常基本的策略。在您的特定情况下,您还可以使用 jQuery 的 .data()
方法将数据附加到 DOM 节点。
$('myButton').click(function() {
$.data(this, 'myData', this.title);
});
引用:.data() , jQuery.data()
关于javascript - 在 DOM 中存储数据的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4506759/