jQuery:如何从父母那里找到兄弟姐妹

时间:2014-07-10 11:23:58

标签: javascript jquery html parent next

如果我有......像这样

<div><input rel="first" type="radio" name="x" value="1"></div>
 …
<div><input type="radio" name="x" value="2" disabled></div>
 …
<div><input type="radio" name="x" value="3" disabled></div>
 …
<div><input type="radio" name="x" value="4"></div>

我想在rel =&#34; first&#34;之后找到下一个启用的radiobutton一。 因为我没有包裹div,所以有一种简单的方法可以找到

$('input[rel="first"]').nextAll('input:radio').not(':disabled'); 

但我无法得到它们,现在因为我必须用div包装输入。

$('input[rel="first"]').parent().nextAll('input:radio').not(':disabled');

也不工作。显然,parent()正在div级别上搜索下一个Element。但如何进入以下div?我试过这个

$('input[rel="first"]').parent().nextAll('div ~ input:radio').not(':disabled');

但它也无效

3 个答案:

答案 0 :(得分:3)

试试这个:

$('input[rel="first"]')
  .parent() //it's parent div
  .nextAll('div') //finds nextAll div
  .children('input:radio') //inside div find input with radio type
  .not(':disabled'); //ensures not disabled

答案 1 :(得分:1)

尝试,

$('div:has(:radio[rel="first"])')
    .nextAll('div:has(:radio:not(:disabled))')
      .find(':radio')

DEMO

答案 2 :(得分:0)

您可以尝试以下代码

$('input[rel="first"]').parent().nextAll('div').has('input:not(:disabled)').first()