Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.06.2017, 19:05
Интересующийся
Отправить личное сообщение для rustleofstars Посмотреть профиль Найти все сообщения от rustleofstars
 
Регистрация: 30.03.2012
Сообщений: 24

В событии onClick элемента ошибка при определенном виде передаваемой переменной.
Доброго времени суток. Помогите, пожалуйста, понять такую пролему. Есть элемент:
<div class="favClick favorite_add" id="fav_skinali-RAL70" onclick="favorite_ajax(skinali-RAL70);"><span>В избранное</span><span>Удалить</span><i class="star-empty-svg"></i><i class="star-full-yellow-svg"></i><i class="close-svg"></i></div>

При клике на него в функкцию favorite_ajax перелается переменная id элемента. В приведенном коде это переменная вида "skinali-RAL70" и она по непонятной причине приводит к ошибке: "Uncaught ReferenceError: skinali is not defined at HTMLDivElement.onclick". В другом html-элементе в котором переменная передается другого вида такой ошибки нет:
<div class="favClick favorite_del" id="fav_11701" onclick="favorite_ajax(11701);"><span>В избранное</span><span>Удалить</span><i class="star-empty-svg"></i><i class="star-full-yellow-svg"></i><i class="close-svg"></i></div>

Вот функция favorite_ajax():
function favorite_ajax(id) { 

    $('.images-page-img-wrap img').each(function() {
        var $img = $(this);
        var $fav;
        var regNameIMG = /([0-9]*)(\.jpg|\.png)$/;
        var $imgPath = $img.attr('src');
        var $imgNum = $imgPath.match(regNameIMG);		
		
         if ($imgNum[1] == id) {
            $fav = $(this).closest('.images-page-block-img').find('.favClick');
            if ($fav.hasClass('favorite_del')) {
                $fav.removeClass('favorite_del').addClass('favorite_add');
            } else {
                $fav.removeClass('favorite_add').addClass('favorite_del');
            }
        } 
    });

    var ids = [];

    if ($.cookie('favorites')) { 
        ids = $.cookie('favorites').split(',');
        for (a in ids ) {
           ids[a] = parseInt(ids[a], 10);
        }
    }

    if (ids.indexOf(id) > -1) {
        remove_string(ids, id);
    } else {
        ids.push(id);
    }

    var num = ids.length;

    if (num > 0) {
        if ( $('.menu-glavnoe-menyu-container').find('.menu-item-fav a span').length > 0 ) {
            $('.menu-glavnoe-menyu-container').find('.menu-item-fav a span').html(num);
        } else {
            $('.menu-glavnoe-menyu-container').find('.menu-item-fav a').append('<span class="fav-trig-num">' + num + '</span>');
        }
    }

    $.cookie('favorites', ids, {
        expires: 1,
        path: '/',
    }); 

}
Ответить с цитированием
  #2 (permalink)  
Старый 25.06.2017, 19:08
Кандидат Javascript-наук
Отправить личное сообщение для Diphenyl Oxalate Посмотреть профиль Найти все сообщения от Diphenyl Oxalate
 
Регистрация: 21.01.2017
Сообщений: 139

Попробуйте так

favorite_ajax('skinali-RAL70');
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при onclick ureech Events/DOM/Window 2 10.07.2016 21:20
Блокировка всех input в блоке div при событии onclick Tim_design Общие вопросы Javascript 1 04.04.2014 08:40
не сохраняется значение переменной при событии cyberpunk Events/DOM/Window 2 21.09.2012 09:59
Проблема при передаче в jquery переменной c id элемента lectrouser jQuery 2 02.05.2011 16:51