首页 > 解决方案 > 通过类找到最近的元素后使用 attr(id)

问题描述

我是 js/jQuery 的新手,发现一些帖子已经对我想要完成的工作有很大帮助。但我被困在这个特殊的问题上。

我想要做的是,当我单击“.moreInfo”类的框时,jQuery 应该找到最接近“.make-3D”类的元素并返回它的 id。背景是我有几个带有“.make-3D”的div,包括“.moreInfo”,我想将make-3D-ID保存在一个变量中,然后我将其交给一个函数,以便我可以使用一个触发器所有 .moreInfo 类的事件。但是,我总是收到“id is not defined”错误。

这是我的基本代码(我也尝试使用 $(this) 而不是 $(event.target) 但从我读到的内容中我认为 event.target 会是更好的选择?):

jQuery

$(".moreInfo").click(function () {
   var card = $(event.target).closest(".make-3D").attr(id);
   flipToBack(card);
});

html

<div id="test" class="make-3D">
   <div class="tile">
      <div class="front">
         <div class="head">
         </div>
         <div class="location">
         </div>
         <div class="picContainer">
         </div>
         <div class="moreInfo">
            <b>More Info!</b>
         </div>
      </div>
      <div class="back">
      </div>
   </div>
</div>

标签: jqueryattrclosest

解决方案


推荐阅读