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()