在自定义javascript变量中,如何获取被点击元素的父元素?
<div>
<h2>Lorem Ipsum</h2>
<a href="#"></a>
</div>
例如,当我点击<H2>
以点击<a>
时记录Lorem Ipsum时,我想获取<a>
的内容。
答案 0 :(得分:1)
似乎Click Element变量在这里工作得很好。这很奇怪,我在''中使用它并且它只返回了url。但你可以像使用它一样使用它
function(){
var title = jQuery({{Click Element}}).parent().find('h2').html();
return title;
}
答案 1 :(得分:1)
我知道这是一个较旧的问题,但在我自己搜索这个问题时,我发现this really helpful link有一个解决方案。
您可以添加自定义变量。要执行此操作,请在Google代码管理器中转到Variables
,在User-Defined Variables
下点击New
。选择Variable Type
的{{1}},将其命名为Custom JavaScript
,然后输入以下代码:
Find Closest
为您的特定情况添加另一个JavaScript变量。类似的东西:
function() {
return function(target, selector) {
while (!target.matches(selector) && !target.matches('body')) {
target = target.parentElement;
}
return target.matches(selector) ? target : undefined;
}
}
注意:您可以为较早的浏览器添加function() {
var parentElement = {{Find Closest}}({{Click Element}}, 'div'),
childElement = typeof parentElement !== 'undefined' ? parentElement.querySelector('h2') : undefined;
return typeof childElement !== 'undefined' ? childElement.innerText : undefined;
}
的填充。
答案 2 :(得分:-2)
使用Jquery,你可以做这样的事情
$('a').click(function(){
var h2Content = $(this).siblings('h2').text();
console.log(h2Content);
});
请注意,此代码将在所有标记上放置一个click事件处理程序。