Показать сообщение отдельно
  #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: '/',
    }); 

}
Ответить с цитированием