总结一下,我正在尝试这样做,以便当用户点击页面上的特定元素时,页面会读取数据值并将其与可能值列表进行匹配,并将用户重定向到特定的URL。在价值上。
我坚持使用的部分是能够在单击元素时获取父元素的值。我需要元素的值为class =" 1"并且由于页面是唯一可行的,用户将点击具有class =" 3"的元素。
我正在使用简单的警报测试来查看是否可以访问该值。
document.onclick = function(event) {
var target = event.target || event.srcElement;
$tar = target;
alert($(tar).parents().eq(2).attr("data"));
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="1" data="123">
<div class="2">
<div class="3">
This is my DIV
</div>
</div>
</div>
&#13;
答案 0 :(得分:1)
您可以使用closest
来实现此目标。
如果你没有用数字开始你的课,那么很多会更容易,因为类选择器不能以未转义的数字开头。因此,如果我们将1,2和3更改为a,b和c(如果我们修正了拼写错误André pointed out),您将拥有:
document.onclick = function(event) {
var target = event.target || event.srcElement;
$tar = target;
alert($($tar).closest(".a").attr("data"));
}
<div class="a" data="123">
<div class="b">
<div class="c">
This is my DIV
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
(另请注意,您可以使用jQuery挂钩该事件处理程序,而不是使用onclick =
。)
但如果你绝对不得不使用1,2和3(我不推荐):
document.onclick = function(event) {
var target = event.target || event.srcElement;
$tar = target;
alert($($tar).closest(".\\31").attr("data"));
}
<div class="1" data="123">
<div class="2">
<div class="3">
This is my DIV
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:0)
如果你知道你只走了两步,那么下面应该没问题:
document.onclick = function(event) {
var target = event.target || event.srcElement;
$tar = target;
alert($($tar).parent().parent().attr("data"));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="a" data="123">
<div class="b">
<div class="c">
This is my DIV
</div>
</div>
</div>