当已知子元素时,如何在jQuery中获取父元素?

7

我正在使用jQuery Mobile,它会为您创建大量DOM。我需要删除()单选按钮,但是基于jQuery Mobile中构建HTML的方式,我没有父div的id。 我可以轻松地获取输入和标签,但还需要摆脱我们的div来完全删除单选按钮列表中的条目样式。

<div class="ui-radio">
  <input type="radio" value="ahBkMj" id="ahBkMj" name="spam" data-theme="c">
  <label for="ahBkMj" class="ui-btn ui-btn-icon-left ui-btn-up-c">
    <span class="ui-btn-inner">
      <span class="ui-btn-text">Foo</span>
      <span class="ui-icon ui-icon-ui-icon-radio-off ui-icon-radio-off"></span>
    </span>
  </label>
</div>

1
为什么不切换它们?显示/隐藏? - Phill Pafford
3个回答

13

3
也许您会对“.closest()”感兴趣。 - Pointy
谢谢,不知道parent的存在。 - Will Curran
.parent()在jQuery之前就存在了。它是JavaScript中DOM元素对象的一个方法。 - naugtur

12
由于 <input> 元素的直接父元素是 <div> 元素,因此您可以使用恰当命名的 parent() 方法:
$("#ahBkMj").parent().remove();

一般情况下,如果你想要找到与选择器匹配的第一个祖先元素,可以使用closest()方法:

$("#ahBkMj").closest("div").remove();

需要注意的是,closest()方法会在查找时包含当前元素本身。


0

这对我来说行得通.....

var child = '# 或 . 以及你的子div的名称... ';

var width = Math.round($(child).parent().width());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接