javascript - 如何使用 jQuery 选择父级的 ID?

标签 javascript jquery html

我想在点击任何球队时选择 parent 的 parent ID,所以基本上如果有人点击英超球队,我希望将 ID 2 分配给变量 league_id。

我已经尝试过的:

最近

$('ul.subbar li a').on('click', function(e) {
e.preventDefault();
var team_id = $(this).attr("id");
var league_id = $(this).closest('li').attr('id');

父级父级

$('ul.subbar li a').on('click', function(e) {
e.preventDefault();
var team_id = $(this).attr("id");
var league_id = $(this).parent().parent().attr('id');

parent 先行

$('ul.subbar li a').on('click', function(e) {
e.preventDefault();
var team_id = $(this).attr("id");
var league_id = $(this).parents('ul:first').attr('id');

这是我的 HTML 结构:

        <li class="countries" id="2"><img src="{% static "images/england.png" %}" alt="england">Premier League
          <ul class="subbar">
            <li><a class="team" id="12">FC Liverpool</a></li>
            <li><a class="team" id="13">Manchester City</a></li>
            <li><a class="team" id="17">Tottenham Hotspur</a></li>
            <li><a class="team" id="14">Manchester United</a></li>
            <li><a class="team" id="11">Leicester City</a></li>
            <li><a class="team" id="6">FC Chelsea</a></li>

所以基本上我需要向上跳两级。

控制台总是记录我 undefined

最佳答案

你可以这样做:

var league_id = $(this).closest('li.countries').attr('id');

演示

$('ul.subbar li a').on('click', function(e) {
  e.preventDefault();
  var team_id = $(this).attr("id");
  var league_id = $(this).closest('li.countries').attr('id');
  console.log("team_id",team_id)
  console.log("league_id",league_id)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li class="countries" id="2"><img src="{% static " images/england.png " %}" alt="england">Premier League
    <ul class="subbar">
      <li><a class="team" id="12">FC Liverpool</a></li>
      <li><a class="team" id="13">Manchester City</a></li>
      <li><a class="team" id="17">Tottenham Hotspur</a></li>
      <li><a class="team" id="14">Manchester United</a></li>
      <li><a class="team" id="11">Leicester City</a></li>
      <li><a class="team" id="6">FC Chelsea</a></li>
    </ul>
  </li>
</ul>

关于javascript - 如何使用 jQuery 选择父级的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58236425/

相关文章:

javascript - 为什么要在 http.createServer() 中返回一个值

javascript - 形成如何查找()电子邮件和密码输入

javascript - XML 文档中的 WebGL

javascript - 有谁知道如何将这个 jQuery 翻译成普通的 js?

javascript - 类中存在的图像逐渐淡入(HTML/CSS/JS)?

javascript - 使用JS变量(ubernewb)进行音频暂停/播放

javascript - 在与交叉点观察者相交离开时检测元素是高于还是低于视口(viewport)

javascript - 异步/等待模拟

javascript - 如何从函数 javascript 将值设置到接下来的输入中?

javascript - 每次鼠标移动时,使 JQuery 工具提示检索一个新值