小提琴: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);