我有一个<a>
元素。然后我有一个关联的 jQuery 对象 $("a")
我想修改它。所以我尝试以下操作:
$("a").myAttribute = 10;
alert($("a").myAttribute); // <--- Alerts undefined
问题是什么?
最佳答案
每次使用 $('a') 都会返回一个不同的对象实例。虽然您的原始代码不起作用,但您应该能够执行以下操作:
var a = $('a');
a.myAttribute = 10;
alert(a.myAttribute.toString());
如果您确实想将值添加到 DOM 以便稍后使用它,“正确”的方法是使用 attr 方法(如果您设置有效的 HTML 属性)或 data 方法(如果您想使用非标准名称):
// valid HTML attribute
$('a').attr('name', 'someName');
// non-standard name
$('a').data('myAttribute', 10);
然后:
alert($('a').attr('name'));
或者:
alert($('a').data('myAttribute'));
如果您需要更复杂的东西(例如存储复杂的对象而不是简单的属性/数据值),我会考虑编写一个简单的 jQuery 插件,它扩展 jQuery 对象并提供自定义对象所需的存储/检索方法.
要开始一个简单的示例,请查看 jQuery 的插件创作页面:
关于jquery - 修改 jQuery 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6818205/