首页 > 解决方案 > 如何使用jquery从div内部获取id

问题描述

如何从内部 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>

标签: javascriptjquery

解决方案


问题来自:

  1. closest将返回第一个父级的选择器div(这里不需要什么)。
  2. 因为如果元素具有给定的类,hasClass()它将返回一个布尔值。(在你的情况下,第一个父母没有给定的班级control

而不是使用hasClass()您需要class直接在方法中使用选择器,closest()例如:

$(this).closest('div.control').attr("id");

$(".getid").click(function() {
  console.log($(this).closest('div.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>
Js:


推荐阅读