- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте! Прошу помощи.
Есть переменная:
var d1 = "2";
Есть код:
<div class="block" data-id="d1" data-num="0"><span>Одноэтажный дом</span></div>
Есть скрипт:
$('button.calc').click(function(e) {
$('.block').each(function(indx, element){
if ( $(this).hasClass('active')){
var ids = $(this).attr('data-id'); ----- получаем атрибут data-id в котором хранится значение "d1"
$(this).attr('data-num', ids)-----назначаем атрибуту data-num значение "d1" (как преобразовать строку d1 в переменную, которая была объявлена? Что бы в атрибут подсталялся не текст "d1" а число, которое этой переменной назначено)
}});
https://learn.javascript.ru/types-conversion
Попробуйте хранить переменные в массиве.
var arr = new Array();
arr['d1'] = "2";
А обращаться к ним через вашу переменную в качестве ключа.
$(this).attr('data-num', arr[ids])
Вот из-за таких ... как ТС и отвечать не хочется в этом разделе. Перед ним тут люди распинаются он б.. даже ответить не удосужился.
Обычно после таких текстов они прибегают и орут, я не видел, че паникуешь .. и пр.
Попробуйте хранить переменные в массиве.
var arr = new Array();
arr['d1'] = "2";
А обращаться к ним через вашу переменную в качестве ключа.
$(this).attr('data-num', arr[ids])
Насколько я в курсе, у массивов в js индексы должны быть числовые. Т.е. здесь надо создавать объект через
var arr = {};тогда дальнейшее обращение arr['d1'] будет верным.Другое дело, что в js практически всё объект и ваш код наверно будет работать, но это не по фен-шую (как и то, что ТС пытается селать)
Насколько я в курсе, у массивов в js индексы должны быть числовые. Т.е. здесь надо создавать объект через
так и есть https://learn.javascript.ru/object
Извините, были проблемы с провайдером...
Попробовал этот вариант:
var ids = Number($(this).attr('data-id'));
На выходе получил NaN
Получилось сделать с помощью объекта. Всех благодарю за помощь
Насколько я в курсе, у массивов в js индексы должны быть числовые. Т.е. здесь надо создавать объект через
var arr = {};тогда дальнейшее обращение arr['d1'] будет верным.Так и есть, спасибо что поправили.
Другое дело, что в js практически всё объект и ваш код наверно будет работать, но это не по фен-шую (как и то, что ТС пытается селать)
Задача стаяла получить значение переменной. А к фен-шую, уверен, ТС дойдет позже самостоятельно :)
Попробовал этот вариант:
var ids = Number($(this).attr('data-id'));
На выходе получил NaN
Да, я неправильно прочитал условие) Как вариант:
var ids = $(this).attr('data-id');ids = Number(eval(ids));
Но лучше через объект :)