已知子元素时如何在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】:
由于<div>
元素是<input>
元素的直接父元素,您可以使用恰当命名的parent() 方法:
$("#ahBkMj").parent().remove();
一般情况下,如果你想让第一个祖先匹配一个选择器,你可以使用closest():
$("#ahBkMj").closest("div").remove();
但请注意,closest()
在其搜索中包含元素本身。
【讨论】:
【参考方案3】:这对我有用.....
var child = '# 或 .和你孩子的名字 div...';
var width = Math.round($(child).parent().width());
【讨论】:
以上是关于已知子元素时如何在jQuery中获取父元素?的主要内容,如果未能解决你的问题,请参考以下文章