如何从内部div获取ID。我有很多div具有类控制功能,但我想获取父div ID。如何获得?
http://jsfiddle.net/cngt2ef6/7/
$(".getid").click(function() {
alert($(this).closest('div').hasClass("control).attr("id"))
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="control" id="spa">
Content
</div>
<div class="control" id="test">
<div class="method">
<a href="#" class="getid">Getid</a>
</div>
</div>
<div class="control" id="awesome">
Content
</div>
答案 0 :(得分:5)
问题来自:
closest
的{{1}}选择器(这里我们不需要什么)。hasClass()
,因为如果元素具有给定的类,它将返回一个布尔值。 (在您的情况下,第一个父母没有给定的课程div
)除了使用control
之外,还需要直接在hasClass()
方法中使用class
选择器,例如:
closest()
$(this).closest('div.control').attr("id");
$(".getid").click(function() {
console.log($(this).closest('div.control').attr("id"));
})
答案 1 :(得分:1)
除了closest()
(返回第一个单节点父对象)之外,您可以使用parents()
,但是在这种情况下,将返回多个以element / class / id为目标的节点。
在这种情况下,它只是closest()
的替代方式
$(".getid").click(function() {
console.log($(this).parents('.control').attr("id"))
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="control" id="spa">
Content
</div>
<div class="control" id="test">
<div class="method">
<a href="#" class="getid">Getid</a>
</div>
</div>
<div class="control" id="awesome">
Content
</div>