使用jQuery创建新属性

Thi*_*usP 6 javascript jquery image attr

可能重复:
jQuery .attr检索自定义属性返回undefined

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

$(selector).attr('selected', 'no');
Run Code Online (Sandbox Code Playgroud)

当我在Chrome中检查DOM时,无论我将值设置为什么,我都会看到selected ="selected".

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

我已经死定了,我在这里做了些蠢事......任何建议都会受到赞赏.

Chr*_*son 11

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

在jQuery中,您使用该.data()方法处理自定义数据属性.

自定义数据属性在此处的HTML5规范中进行了描述.


fca*_*ran 5

你可以插入一个data-*自定义属性

$(selector).data('selected', 'no');
Run Code Online (Sandbox Code Playgroud)

你的元素将设置一个data-selected属性