Javascript 未正确扫描的jQuery代码需要简化它

Javascript 未正确扫描的jQuery代码需要简化它,javascript,jquery,css,Javascript,Jquery,Css,我正在尝试为主导航中的每个元素设置跟踪。一切都很好,但在某个时候,我开始得到错误,代码无法读取 我知道会出现错误,因为对于每个元素,我都会使用“jQuery”再次调用它: // MAIN CATEGORIES // COLLECTION MAIN jQuery("#heading-163").one("click", function(e) { console.log('category collection tracked'); exp

我正在尝试为主导航中的每个元素设置跟踪。一切都很好,但在某个时候,我开始得到错误,代码无法读取

我知道会出现错误,因为对于每个元素,我都会使用“jQuery”再次调用它:

// MAIN CATEGORIES 

// COLLECTION MAIN
    jQuery("#heading-163").one("click", function(e) {
            console.log('category collection tracked');
           exponea.track('main_collection', {
                    action: 'click'
            });
        });

// SLNECNE OKULIARE MAIN
    jQuery("#heading-3").one("click", function(e) {
            console.log('[Jarik was here] category sunglasses tracked');
           exponea.track('main_sunglasses', {
                    action: 'click'
            });
        });

// DIOPTRICKE OKULIARE MAIN
    jQuery("#heading-9").one("click", function(e) {
            console.log('category glasses tracked');
           exponea.track('main_glasses', {
                    action: 'click'
            });
        });

// LYZIARSKE MAIN
    jQuery("#heading-14").one("click", function(e) {
            console.log('category snow goggles tracked');
           exponea.track('main_snow_goggles', {
                    action: 'click'
            });
        });     

// SPORTOVE MAIN
    jQuery("#heading-38").one("click", function(e) {
            console.log('category sportove tracked');
           exponea.track('main_sportove', {
                    action: 'click'
            });
        });     

// ZNACKY MAIN
    jQuery("#heading-48").one("click", function(e) {
            console.log('category brands tracked');
           exponea.track('main_brands', {
                    action: 'click'
            });
        });   

// OUTLET MAIN
    jQuery("#heading-114").one("click", function(e) {
            console.log('category outlet tracked');
           exponea.track('main_outlet', {
                    action: 'click'
            });
        });

    jQuery("#heading-114 > div > div > div > a.outlet_text > img").on("click", function(e) {
            console.log('category outlet left img');
           exponea.track('main_outlet_left_img', {
                    action: 'click'
            });
        });
    jQuery("#heading-114 > div > div > div > a:nth-child(3) > img ").on("click", function(e) {
            console.log('category outlet right img');
           exponea.track('main_outlet_right_img', {
                    action: 'click'
            });
        });

    jQuery('#heading-114 > div > div > div > a:nth-child(3) > button').on("click", function(e) {
            console.log('category outlet btn');
           exponea.track('main_outlet_btn', {
                    action: 'click'
            });
        });
我的问题是,我如何将其统一起来,这样我就不必每次都用“jQuery”调用新元素了

多谢各位

//编辑:


这是错误代码,它出现在我穿过某些代码行之后,然后整个代码停止工作

好的,这是我在黑暗中的尝试

由于不太了解您的情况,我想出了以下代码。我基本上已经将每个跟踪事件的配置放入一个数组中,以便在每次调用同一段代码时循环

这可能有点矫枉过正,并且在未来的变化中变得杂乱无章,但这是一种“东西”\_(ツ)_/“”

config对象中的
方法
属性与您为每个项调用的函数相关,例如
jQuery('#heading-163')。one(…)
vs
jQuery('#heading-114>div>div>div>a.outlet\u text>img')。on(…)

var trackingMap=[
//收集干管
{
选择器:“#标题-163”,
曲目:“主要收藏”,
方法:“一”
},
//斯莱尼·奥库利是主要的
{
选择器:“#标题-3”,
曲目:“主太阳眼镜”,
方法:“一”
},
//主屈光度计
{
选择器:“#标题-9”,
曲目:“主眼镜”,
方法:“一”
},
//利齐亚尔斯克大街
{
选择器:“#标题-14”,
曲目:“主雪地护目镜”,
方法:“一”
},
//SPORTOVE MAIN
{
选择器:“#标题-38”,
赛道:“主运动”,
方法:“一”
},
//兹纳基大街
{
选择器:“#标题-48”,
曲目:“主要品牌”,
方法:“一”
},
//出水管
{
选择器:“#标题-114”,
轨道:“主出口”,
方法:“一”
},
{
选择器:'#标题-114>div>div>div>a.outlet_text>img',
轨道:“主出口左入口”,
方法:'on'
},
{
选择器:'#标题-114>div>div>div>a:n子项(3)>img',
轨道:“主出口”\u右侧\u img“,
方法:'on'
},
{
选择器:“#标题-114>div>div>div>a:n子项(3)>按钮”,
轨道:“主出口”,
方法:'on'
}
];
/**
*循环跟踪地图项目
*/
对于(var i=0;i
请阅读。逐字引用错误消息(如果不明显,请添加它们引用的代码部分),而不是给我们你自己的模糊、不具体、不清楚、解释过的版本。你能发布你得到的确切错误吗?@AlexandrosDiamantonis肯定我把它添加到了主帖子中这看起来像是一个关于错误预运行的报告。如果你删除除1个jQuery之外的所有行,是否会导致错误?你是如何使用
exponea
?可能是这样的它没有正确启动,这导致每次使用时都会抛出一个错误。我想这是我多次调用jQuery的原因。我所做的是,我在exponea中创建了多个脚本,并在那里划分代码。现在它可以工作了。但不管怎样,有没有一个选项可以只使用一次“jQuery”,就像使用var和调用所有它里面有很多元素