首页 > 解决方案 > 如何在jQuery中访问父母的孩子

问题描述

试图通过子访问器获取父母的孩子。基本上试图.block__id通过add__block课程。

HTML

<div class="col-12">
    <span class="block__id">{{$block->id}}</span>
          {{$block->title}}
     <span class="add__block">+</span>
</div>

jQuery

$(".add__block").click(function(){
    $(this).parent().find(function(){
          var id = $(".block__id").text();
    });
    console.log(id);
});

目前我得到 id 未定义。

标签: javascriptjqueryhtml

解决方案


您的逻辑几乎是正确的,但问题是您提供了一个函数,find()而您只需要使用一个选择器字符串:

$(".add__block").click(function() {
  var id = $(this).parent().find(".block__id").text();
  console.log(id);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-12">
  <span class="block__id">Block #1</span> 
  Block title
  <span class="add__block">+</span>
</div>
<div class="col-12">
  <span class="block__id">Block #2</span> 
  Block title
  <span class="add__block">+</span>
</div>


推荐阅读