Установить var как значение атрибута

У меня есть сценарий jQuery, который дает каждому div свой собственный атрибут data-page-index как число, у меня есть переменные, которые вытягивают определенные значения индекса данных и преобразуют их в целые числа для некоторых вычислений, но мне нужно повторно применить это номер, используя его имя var, например,

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

Это возможно?

1
nl ja de

3 ответы

Абсолютно:

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+ '"]');
1
добавлено
@Lix да хорошо сказал :)
добавлено автор Jai, источник
+1 для фактического указания, где проблема. Иногда, когда вы долго смотрели на кусок кода, легко пропустить небольшие ошибки, подобные этому.
добавлено автор Lix, источник

Да, это возможно. Ваша проблема была небольшой синтаксической ошибкой. У вас была дополнительная одинарная цитата.

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

Это можно увидеть в разделе «Переполнение стека» благодаря подсветке синтаксиса, что есть проблема. Ваша IDE также должна была иметь такой же эффект.

Правильный код должен выглядеть примерно так (мне не очень нравится определять несколько переменных на одной строке, поэтому я их разложил -

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

I could be wrong... but I think that next is a preserved keyword. This might be causing you some unpredictable issues... I recommend changing the name of that variable as well... Irrelevant

1
добавлено
@lix, и после последнего var также должна быть точка с запятой, я просто ошибся в этом примере. Я всегда разделяю свои вары запятыми и нахожу их на одной линии, это просто личные предпочтения или я буду сталкиваться с проблемами в конечном итоге?
добавлено автор Tim Wilkinson, источник
@lix ha достаточно справедливо, спасибо за головы;)
добавлено автор Tim Wilkinson, источник
@mat - вы правы ... Но я не большой поклонник этого синтаксиса, поэтому я изменил его.
добавлено автор Lix, источник
@tim. Проблемы, с которыми вы могли столкнуться, - это люди на переполнении стека , сообщающие вам, что им не нравится это соглашение: -P
добавлено автор Lix, источник
Разве ему не нужна запятая после next = (foo + 1)?
добавлено автор Matthew Davis, источник
Согласовано. Ненавижу, когда люди пытаются понять все, что связано с варами.
добавлено автор Matthew Davis, источник

Попробуй это:

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

У вас был ошибочный двойной код '' в селекторе атрибутов.

0
добавлено
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing