我有这样的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();
但是有一个特定的原因,我需要与兄弟姐妹和父母一起做。
答案 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());
});