将var设置为属性值

时间:2013-01-09 16:58:48

标签: jquery html

我有一个jQuery脚本,它给每个div自己的data-page-index属性作为数字,我有变量拉取特定的数据页面索引值并将它们转换为整数进行某些计算,但我需要重新编写 - 使用其var名称来应用此数字,例如

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

这可能吗?

3 个答案:

答案 0 :(得分: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是保留的关键字。这可能会导致您出现一些不可预测的问题......我建议您也更改该变量的名称...... Irrelevant

答案 1 :(得分: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+ '"]');

答案 2 :(得分:0)

试试这个:

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

属性选择器中有一个错误的双''