首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery获取父id

问Jquery获取父id
EN

Stack Overflow用户
提问于 2014-02-04 06:25:52
回答 3查看 56关注 0票数 0

我正在尝试在用户点击一个li的项目后拉取ul的id ...

这是我的jquery

代码语言:javascript
复制
$('.mitm').click(function () {
    var itmlvl = $(this).text();
    var itmp = $(this).parent().attr("id");
    alert(itmlvl + " " + itmp);
});

这是我的HTML

代码语言:javascript
复制
<div id="menu_arrow" class="vocab_arrow"></div>
     <ul class="lvldropmnu" id="uvocab">
          <a href="#"><li class="mitm">1</li></a>
          <a href="#"><li class="mitm">2</li></a>
     </ul>
</div>

我使用.find()等方法尝试了几种不同的组合,但是没有成功,我总是在对itmp变量的警告中得到一个“未定义的”。

EN

回答 3

Stack Overflow用户

发布于 2014-02-04 06:29:48

您的HTML是不正确的,所以您不能期望得到一致的结果。列表只能包含列表项,而不能包含链接。

将链接放在列表项中:

代码语言:javascript
复制
<div id="menu_arrow" class="vocab_arrow"></div>
     <ul class="lvldropmnu" id="uvocab">
          <li class="mitm"><a href="#">1</a></li>
          <li class="mitm"><a href="#">2</a></li>
     </ul>
</div>

这也将使列表成为列表项的父级,因此您的corrent代码将起作用。

票数 4
EN

Stack Overflow用户

发布于 2014-02-04 06:28:56

$(this)的父级是,您需要使用

代码语言:javascript
复制
var itmp = $(this).parent().parent().attr("id");

或

代码语言:javascript
复制
var itmp = $(this).parent('ul').attr("id");

或

代码语言:javascript
复制
var itmp = $(this).closest("ul").attr("id");
票数 0
EN

Stack Overflow用户

发布于 2014-02-04 06:33:05

代码语言:javascript
复制
$(function () {
  $('.mitm').click(function () {

    var itm = $(this),
        itmlvl = itm.text(),
        itmp = itm.parent().attr("id");
      alert(itmlvl + " " + itmp);
  });

})();


 <ul class="lvldropmnu" id="uvocab">
      <li class="mitm">
        <a href="#">1</a>
      </li>
      <li class="mitm">
        <a href="#">2</a>
      </li>
    </ul>

预览:http://plnkr.co/edit/Lv9lNSLr7J6x2ujlTZgP?p=preview

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21539131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档