jquery从$(this)位置选择下一个元素

时间:2011-09-06 13:03:27

标签: jquery jquery-selectors

我的页面中有以下内容:

<div class="radio-group">
<input type="radio" name="group1" checked="checked" id="option1" value="option1"/>
<label for="option1">option1</label>
<input type="radio" name="group1" id="option2" value="option2"/>
<label for="option2">option2</label>
<input type="radio" name="group1" id="option3" value="option3"/>
<label for="option3">option3</label>
<input type="radio" name="group1" id="option4" value="option4"/>
<label for="option4">option4</label>
</div>

和这个javascript代码,用于在无线电中点击后选择隐藏的输入:

$("input[type='radio']").live("change", function () {        
    var el = this.parentNode.nextElementSibling;
    el.value = this.value;
});

我想写一行

var el = this.parentNode.nextElementSibling;

以jQuery方式。感谢。

4 个答案:

答案 0 :(得分:5)

var el = $(this).parent().next().find("input[type='radio']");
el.val(this.value);
很容易。 :)

修改

大声笑没有对标记给予足够的重视。 :P固定。

答案 1 :(得分:4)

$("input[type='radio']").live("change", function () {        
    var el = $(this).parent().next();
    el.val(this.value);
});

答案 2 :(得分:3)

var el = this.parentNode.nextElementSibling;

转换为

var $el = $(this).parent().next();

答案 3 :(得分:1)

使用jquery这个,还要注意你可以过滤下一个选择器(以防你的代码出现问题)

var el = $(this).next('input[type="hidden"]');