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%.

进行引用