0

我想在 Adob​​e Launch 中使用 Data Elements 的自定义代码来获取单击元素的父元素的文本值。

我使用了 $(this).parents('h3').text()方法,但是当我使用调试工具检查时,没有正确收集文本值。 Adobe Launch 中数据元素的自定义代码

但是,当我检查页面内的控制台时,我可以看到文本值通过该方法存在。

Adobe Launch 是否不支持该方法?那么如何获取被点击元素的父元素或子元素的属性值呢?

4

1 回答 1

0

事件和元素对象都不会在内部传递给数据元素 (DE)。如果您希望能够在 DE 中引用这些东西,那么您可以让 DE 返回一个函数,这样您就可以像调用函数一样调用它并将其作为参数传递。

例子:

数据元素名称: getClickedElementText

自定义代码:

return function(ev) {
   var ev = ev || {};
   var elem = ev.target || {}:
   return $(elem).parents('h3').text();
}

然后在您的规则中,在自定义代码框中(例如,在条件中,或在操作自定义代码框中,标记为全局范围),您可以执行以下操作:

var text = _satellite.getVar('getClickedElementText')(event);

请注意,由于此 DE 正在返回一个函数,因此您不能在规则的内置文本字段中引用它。

如果您希望能够%dataelement%在 UI 文本字段中使用,那么您必须将代码放在规则框内的代码框中(同样,不是全局范围的)以设置临时 DE。例如,在规则条件自定义代码框中:

var elem = event.target;
var text = $(elem).parents('h3').text();
_satellite.setVar('clickedElementText',text);

然后您可以%clickedElementText%在 UI 文本字段中使用语法。请注意,由于您正在像这样即时创建临时 DE,它不会显示在下拉搜索提示中。

于 2020-05-13T17:52:53.407 回答