Adobe Dynamic Tag Manager:基于事件的无序列表规则
Adobe Dynamic Tag Manager: Event-Based Rule Upon Unordered List
如果此无序列表中的项目没有 Class 或 DIV 名称,您将如何使用 %this.innerHTML% 符号来提取 link 在基于事件的规则中被点击了?
< div class="relatedCategories rowBottomSpace" >
< strong class="header black short">Related Categories</strong>
<ul>
<li>
<a href="/link1" rel="link 1">LINK 1</a>
<span>|</span>
</li>
<li>
<a href="/link2" rel="link 2">LINK 2</a>
<span>|</span>
</li>
<li><a href="/link3" rel="link 3">LINK 3</a>
</li>
</div>
解决方案 #1:更新您的选择器以使其更具体
这是我在上面的评论中提到的解决方案。假设您的条件 元素标记或选择器 类似于 div.relatedCategories
。如果您将其更改为专门针对其中的 links:div.relatedCategories a
那么这将引用被单击的 link。
解决方案#2:使用自定义条件和数据元素
假设您出于任何原因想要保留原始的更高级别的选择器:
div.relatedCategories
。
保持原样,然后在
规则条件 > 标准
选择 数据 > 自定义 ,然后单击 "Add Criteria"。
在自定义代码框中,添加以下内容:
var target = (event.target) ? event.target : event.srcElement;
_satellite.setVar('linkTarget',target);
return true;
这将创建一个名为 linkTarget
的数据元素,它将保存一个 html 元素对象引用到被点击的 link。因此,您可以使用 %linkTarget.innerHTML%
或者,在自定义代码框中备份,您可以将 linkTarget
设置为 target.innerHTML
,然后使用 %linkTarget%
.
进行引用
如果此无序列表中的项目没有 Class 或 DIV 名称,您将如何使用 %this.innerHTML% 符号来提取 link 在基于事件的规则中被点击了?
< div class="relatedCategories rowBottomSpace" >
< strong class="header black short">Related Categories</strong>
<ul>
<li>
<a href="/link1" rel="link 1">LINK 1</a>
<span>|</span>
</li>
<li>
<a href="/link2" rel="link 2">LINK 2</a>
<span>|</span>
</li>
<li><a href="/link3" rel="link 3">LINK 3</a>
</li>
</div>
解决方案 #1:更新您的选择器以使其更具体
这是我在上面的评论中提到的解决方案。假设您的条件 元素标记或选择器 类似于 div.relatedCategories
。如果您将其更改为专门针对其中的 links:div.relatedCategories a
那么这将引用被单击的 link。
解决方案#2:使用自定义条件和数据元素
假设您出于任何原因想要保留原始的更高级别的选择器:
div.relatedCategories
。
保持原样,然后在
规则条件 > 标准
选择 数据 > 自定义 ,然后单击 "Add Criteria"。
在自定义代码框中,添加以下内容:
var target = (event.target) ? event.target : event.srcElement;
_satellite.setVar('linkTarget',target);
return true;
这将创建一个名为 linkTarget
的数据元素,它将保存一个 html 元素对象引用到被点击的 link。因此,您可以使用 %linkTarget.innerHTML%
或者,在自定义代码框中备份,您可以将 linkTarget
设置为 target.innerHTML
,然后使用 %linkTarget%
.