1

我有一个 jQuery 脚本,它为每个 div 提供自己的 data-page-index 属性作为数字,我有变量可以提取特定的 data-page-index 值并将它们转换为整数以进行某些计算,但我需要重新应用这个使用其 var 名称的数字,例如,

var foo =  parseInt(active.attr('data-page-index')),
    next = (foo+1)
    nextfoo = $('[data-page-index="'' +next+ '"]')

这可能吗?

4

3 回答 3

1

是的,有可能。您的问题是一个小的语法错误。你在那里有一个额外的单引号。

nextfoo = $('[data-page-index="'' +next+ '"]')
/* -----------------------------^---------- */

由于语法突出显示存在问题,因此可以在 Stack Overflow 上看到此处。您的 IDE 也应该具有相同的效果。

正确的代码应该是这样的(我真的不喜欢在一行上定义多个变量,所以我把它们分开了——

var foo =  parseInt(active.attr('data-page-index'));
var next = foo+1;
var nextfoo = $('[data-page-index="' + next + '"]');

我可能是错的......但我认为这next是一个保留的关键字。这可能会给您带来一些不可预知的问题...我建议您也更改该变量的名称... 不相关

于 2013-01-09T17:01:33.477 回答
1

绝对地 :

var foo =  parseInt(active.attr('data-page-index')),
next = (foo+1) // <---parse this one too
nextfoo = $('[data-page-index="'' +next+ '"]')
   //---------------------------^--------------you have extra (') here

它应该是 :

var foo =  parseInt(active.attr('data-page-index')),
next = parseInt(foo+1);
nextfoo = $('[data-page-index="' +next+ '"]');
于 2013-01-09T17:02:48.237 回答
0

试试这个:

var foo =  parseInt(active.data('page-index')),
next = (foo + 1)
nextfoo = $('[data-page-index="' + next + '"]')

''您在属性选择器中有一个错误的 double 。

于 2013-01-09T17:01:10.647 回答