我有一个包含多个输入的页面,每个输入都有一个按钮。无论如何在按钮点击时获取输入值,而不对输入ID进行硬编码?
.prev不起作用,因为输入后直接有一个跨度
示例
JS
$('button').click(function () {
var inputcontent = $(this).prev('input').attr('id');
console.log(inputcontent);
});
HTML
<input type="text" id="1">
<span class="input-group-btn">
<button type="button">Go!</button>
</span>
答案 0 :(得分:3)
您需要在此使用.parent()
,因为input
是该按钮的父<span>
的前一个兄弟姐妹:
var inputcontent = $(this).parent().prev().attr('id');
<强> Fiddle Demo 强>
旁注:id
以数字开头是无效的HTML4标记。的 Reference 强>