如何使用jquery从div内部获取id

Kan*_*a k 3 javascript jquery

如何从内部div获取id.我有很多div与类控件但我想得到父div id.如何获得?

http://jsfiddle.net/cngt2ef6/7/

$(".getid").click(function() {
   alert($(this).closest('div').hasClass("control).attr("id"))
})
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

Zak*_*rki 5

问题来自:

  1. closest将返回第一个父级的选择器div(这不是我们需要的).
  2. hasClass(),因为它会返回一个布尔值,如果该元素具有给定类与否.(在您的情况下,第一个父级没有给定的类control)

而不是使用hasClass()你需要classclosest()方法中直接使用选择器,如:

$(this).closest('div.control').attr("id");
Run Code Online (Sandbox Code Playgroud)

$(".getid").click(function() {
  console.log($(this).closest('div.control').attr("id"));
})
Run Code Online (Sandbox Code Playgroud)
<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>
Js:
Run Code Online (Sandbox Code Playgroud)