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

Posted

技术标签:

【中文标题】已知子元素时如何在jQuery中获取父元素?【英文标题】:How to get parent element in jQuery when child element is known? 【发布时间】:2011-09-06 13:06:26 【问题描述】:

我正在使用 jQuery Mobile,它为您创建了大量的 DOM。我需要 remove() 单选按钮,但根据 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】:

jQuery 的 .parent() 会这样做吗?

【讨论】:

也可能是“.closest()” 谢谢,不知道父母。 .parent() 在 jquery 之前就已经存在了。它是 javascript 中 DOMelement 对象的一种方法。【参考方案2】:

由于&lt;div&gt; 元素是&lt;input&gt; 元素的直接父元素,您可以使用恰当命名的parent() 方法:

$("#ahBkMj").parent().remove();

一般情况下,如果你想让第一个祖先匹配一个选择器,你可以使用closest():

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

但请注意,closest() 在其搜索中包含元素本身。

【讨论】:

【参考方案3】:

这对我有用.....

var child = '# 或 .和你孩子的名字 div...';

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

【讨论】:

以上是关于已知子元素时如何在jQuery中获取父元素?的主要内容,如果未能解决你的问题,请参考以下文章

jquery如何获取父元素的子元素

JavaScript,已获取到父元素并且已知该父元素的某子元素的name属性,怎么获取到相应的子元素?

jquery怎么在父元素事件中禁止子元素的事件?

jq 在iframe中点击按钮,父元素触发事件

js中父元素如何获得元素的子元素么

如何通过JQuery实现子窗口操作父窗口