小提琴:http://jsfiddle.net/6vxe8qyj/

我编写了一些脚本,添加了一个名为trackingID的新属性,该属性采用每个元素的标题并将其添加到跟踪字符串中。

以上工作正常。

<a class="banner" title="This Is mainBanner 1"></a>


将会:

<a class="banner" title="This Is mainBanner 1" trackingid="MAINBANNER-_-BANNER-_-This+Is+mainBanner+1"></a>


但是,我想对字符串的BANNER部分进行编号有点麻烦。即BANNER+1-BANNER+2

然后,我有第二组标语(#secBanners),我需要再次从1开始。

我目前正在获取undefined,不确定如何继续。

任何帮助将是巨大的!

谢谢

最佳答案

使用当前的方法(EXAMPLE):

JS

$('a').attr("trackingID", " ");

function tracking(element, attr, attrVal, track, i) {
    track.each(function () {
        var $this = $(this),
            trackRegEx,
            newVal = attrVal.replace(/\[intBanner\]/g, i);

        $this.attr(attr, newVal);

        if ($this.attr('title') !== undefined && $this.attr('title') !== '') {
            trackRegEx = $this.attr('title').replace(/ /g, '+');
            $this.attr('trackingID', $this.attr('trackingID') + trackRegEx);
        }
        i++;
    });
}

tracking($('#mainBanners a'), 'trackingID', 'MAINBANNER-_-BANNER[intBanner]-_-', $('#mainBanners a[trackingID]'), 0);
tracking($('#secBanners a'), 'trackingID', 'PROMOBANNER-_-BANNER[intBanner]-_-', $('#secBanners a[trackingID]'), 0);

10-05 20:51
查看更多