如果此无序列表中的项目没有Class或DIV指定,您将如何使用%this.innerHTML%表示法来提取基于事件的规则中的哪个链接?
< 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>
答案 0 :(得分:1)
解决方案#1:更新您的选择器以使其更具体
这是我在上面的评论中提到的解决方案。假设您的Condition的元素标记或选择器类似于div.relatedCategories
。如果您将其更改为专门定位其中的链接:div.relatedCategories a
,则会引用所点击的链接。
解决方案#2:使用自定义条件和数据元素
假设您想要保留原始的更高级别选择器,无论出于何种原因:
div.relatedCategories
。
保持原样,然后在
规则条件&gt;标准强>
选择数据&gt;自定义,然后单击“添加标准”。
在自定义代码框中,添加以下内容:
var target = (event.target) ? event.target : event.srcElement;
_satellite.setVar('linkTarget',target);
return true;
这将创建一个名为linkTarget
的数据元素,该元素将保存对所单击链接的html元素对象引用。那么您可以使用%linkTarget.innerHTML%
或者在自定义代码框中备份,您可以将linkTarget
设置为target.innerHTML
,然后使用%linkTarget%
进行引用。