如何在jquery中一起使用parent()和sibling()

时间:2013-10-16 10:09:37

标签: javascript jquery html

我有这样的2个div:

<div class="content">
    <label>First Name</label>
    <input name="firstName" id="firstName" type="text"  class="input firstName" />
</div>

<div class="footer">
    <button type="button" value="edit" id="Esubmit" class="button">Save</button>
</div>

在jQuery中使用parent()sibling()的强大功能,当点击“保存”按钮时,如何获取“firstname”的值。

我尝试了这个,但它不起作用:

$('#Esubmit').click(function () {
    var first = $(this).parent().siblings('.content > input#firstName').eq(0);
    alert(first.val());
});

我知道你可以说

var first = $('#firstName').val();

但是有一个特定的原因,我需要与兄弟姐妹和父母一起做。

4 个答案:

答案 0 :(得分:0)

您将过滤器选择器作为.siblings()的参数传递,而不是完整选择器。使用:

var first = $(this).parent().siblings('.content').children('input#firstName');

答案 1 :(得分:0)

您关注代码

$('#Esubmit').click(function () {
    var first = $(this).parent().siblings('.content').children('input#firstName');// by parent and sibling
    alert(first.val());
});

参考siblings

答案 2 :(得分:0)

在问题中使用DOM结构,您可以使用以下jQuery函数字符串引用firstName:

$(this).parent().siblings('.content').children('#firstName').val()

答案 3 :(得分:0)

尝试这样的事情

            $('#Esubmit').click(function () 
            {
                var first = $(this).parent().prev().find('input#firstName');
                alert(first.val());
            });