Javascript 使用jQuery创建新属性

Javascript 使用jQuery创建新属性,javascript,jquery,image,attr,Javascript,Jquery,Image,Attr,可能重复: 我有一个奇怪的问题,但我希望我只是在做一些愚蠢的事情。我正在尝试使用jQuery在元素上创建一个新属性,这一行: $(selector).attr('selected', 'no'); 当我在Chrome中检查DOM时,我只看到selected=“selected”,无论我将值设置为什么 只是一些额外的信息:我不能只使用布尔值,因为我需要跟踪“是”、“否”和“部分”属性值。我从img本身的“onClick”事件调用一个JS函数,并将此作为参数传递。我已经检查了方法中的对象,并且传

可能重复:

我有一个奇怪的问题,但我希望我只是在做一些愚蠢的事情。我正在尝试使用jQuery在
元素上创建一个新属性,这一行:

$(selector).attr('selected', 'no');
当我在Chrome中检查DOM时,我只看到selected=“selected”,无论我将值设置为什么

只是一些额外的信息:我不能只使用布尔值,因为我需要跟踪“是”、“否”和“部分”属性值。我从img本身的“onClick”事件调用一个JS函数,并将此作为参数传递。我已经检查了方法中的对象,并且传递了正确的对象;属性设置的事实(即使设置为错误的值)也支持这一点


我非常确定我在做些傻事。。。如果您有任何建议,我们将不胜感激。

Selected已经是HTML标准中的一个属性,因此您无法使用相同的名称创建自定义属性。在这种情况下,您应该使用
data-
属性,并创建一个属性
data selected

在jQuery中,可以使用以下方法处理自定义数据属性


HTML5规范中描述了自定义数据属性。

您可以像这样插入
数据-*
自定义属性

$(selector).data('selected', 'no');

元素将设置所选的
数据属性

DOM属性与DOM属性不同;)


我建议对您的用例使用
$(选择器).data()

如果需要将任意数据附加到元素,请使用
.data()
,而不是
.attr()