jQuery函数"prop()"不起作用?
jQuery function "prop()" does not work?
我做错了什么?请在此处查看我的简化 Fiddle:
http://jsfiddle.net/a2q815fq/4/
function change() {
$('#mainmenu3').prop('data-badge','444');
}
应该将数据标记更改为“444”,但没有?!
我认为我在做一些非常愚蠢的事情,但我看不到!
编辑:感谢您的回答。我认为,Fiddle 中的某些内容不起作用,因为简单的 "alert('test')" 不起作用?!是否应该对函数 "change()" 进行不同的调用?
再次编辑:thx,attr() 正在工作,而 prop() 没有。但是,如果我选择删除它,removeAttr() 应该适用于它吗?但是没有 - 看这里:
http://jsfiddle.net/a2q815fq/19/
最后编辑:正如 SultanBaby 提到的,选择器不正确。应该是:#mainmenu3 a[data-badge]!谢谢大家,你们让我开心!
使用.data('badge', 444)
或.attr('data-badge', 444)
你想要这个:
function change() {
$('#mainmenu3 a').attr('data-badge','444');
}
因为该属性属于锚点,而不是列表项元素。已更新 fiddle link here.
PS:如果我省略选择器的 a
部分,它似乎也有效,但是在这种情况下,您的标记将有缺陷,恰好 看起来正确.
回答之前没看到fiddle,我回答错了。嘿,首先你的选择器是错误的。正确的选择器应该是 "#mainmenu3 a[data-badge]"
,你应该像我之前正确提到的那样使用 attr
:
$('#mainmenu3 a[data-badge]').attr('data-badge','444');
我之前也提到过,data-badge
是有效属性,但不是 属性。
我做错了什么?请在此处查看我的简化 Fiddle:
http://jsfiddle.net/a2q815fq/4/
function change() {
$('#mainmenu3').prop('data-badge','444');
}
应该将数据标记更改为“444”,但没有?!
我认为我在做一些非常愚蠢的事情,但我看不到!
编辑:感谢您的回答。我认为,Fiddle 中的某些内容不起作用,因为简单的 "alert('test')" 不起作用?!是否应该对函数 "change()" 进行不同的调用?
再次编辑:thx,attr() 正在工作,而 prop() 没有。但是,如果我选择删除它,removeAttr() 应该适用于它吗?但是没有 - 看这里: http://jsfiddle.net/a2q815fq/19/
最后编辑:正如 SultanBaby 提到的,选择器不正确。应该是:#mainmenu3 a[data-badge]!谢谢大家,你们让我开心!
使用.data('badge', 444)
或.attr('data-badge', 444)
你想要这个:
function change() {
$('#mainmenu3 a').attr('data-badge','444');
}
因为该属性属于锚点,而不是列表项元素。已更新 fiddle link here.
PS:如果我省略选择器的 a
部分,它似乎也有效,但是在这种情况下,您的标记将有缺陷,恰好 看起来正确.
回答之前没看到fiddle,我回答错了。嘿,首先你的选择器是错误的。正确的选择器应该是 "#mainmenu3 a[data-badge]"
,你应该像我之前正确提到的那样使用 attr
:
$('#mainmenu3 a[data-badge]').attr('data-badge','444');
我之前也提到过,data-badge
是有效属性,但不是 属性。