1
任何人都可以解释在下面的小提琴找到奇怪的jquery行为?jQuery .data和.attr奇怪的行为?
我有以下的HTML ...
<div id="test" data-prevy="0"></div>
用下面的jQuery ...
console.log($('#test').data('prevy'));
console.log($('#test').attr('data-prevy'));
$('#test').attr('data-prevy', 2);
console.log($('#test').data('prevy'));
console.log($('#test').attr('data-prevy'));
$('#test').attr('data-prevy', 1);
console.log($('#test').data('prevy'));
console.log($('#test').attr('data-prevy'));
,输出...
0
0
0
2
0
1
当我w乌尔德指望它输出...
0
0
2
2
1
1
我意识到,如果你通过设置的。数据值(即:。数据(“prevy”,2);),该值将不会在DOM反映,但我正在做相反的事情,并得到更多意想不到的结果。
我不希望它改变属性,我希望它得到我通过'.attr更新属性()'新值。 – lionpants 2013-04-30 20:43:49
看起来它正在成功获取新的属性值 - “失败”的调用是使用'.data'的调用。 – 2013-04-30 20:44:54
它不是,也不应该如我所解释的那样。我将它分成两部分,以便更强调它。 – 2013-04-30 20:45:22