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

问题描述:

我正在使用jQuery Mobile为您创建大量的DOM。我需要删除()单选按钮,但基于如何在jQuery Mobile中构造HTML,我没有父div的id。我可以很容易地抓住输入和标签,但也需要摆脱我们的div,从单选按钮列表中彻底删除输入样式。如何在jQuery中获取父元素时知道子元素?

<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

为什么不切换它们?显示隐藏? – 2011-06-01 18:42:25

请问jQuery的.parent()是做什么的?

+3

也可能是“.closest()” – Pointy 2011-06-01 18:27:22

+0

@Pointy,正如你上次所说的,“伟大的思想”:) – 2011-06-01 18:29:19

+0

谢谢,不知道父母。 – 2011-06-01 18:42:26

由于<div>元素是你<input>元素的直接父,您可以用恰当地命名为parent()方法:

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

在一般情况下,如果你想始祖选择匹配,你可以使用closest()

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

但是请注意,这closest()包括在其搜索元素本身。

+0

+1。 – 2011-06-01 18:55:11

这适用于我.....

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

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