我不知道,错误在哪里。谁知道?
<div class="col">
<input type="hidden" value="12" id="number">
<button class="btn-green btn-big" id="confirm" style="width: 146px;margin-top:6px;">
<i class="spritemedium pr10 mr5" style="border-right: 1px solid #fff"></i>
Pesan
</button>
</div>
<script>
$("#confirm").click(function ()
{
var a = $(this).closest("#number").val();
alert(a);
}
</script>
单击按钮confirm
时,它将返回undefined。我使用<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
是否正确?
答案 0 :(得分:3)
.closest() 将遍历DOM树并匹配最近的祖先,在您的情况下#number
输入是#confirm
按钮的前一个兄弟,所以您需要使用 .prev() :
var a = $(this).prev().val();
但是,id
必须是唯一的,您只需使用:
var a = $("#number").val();
答案 1 :(得分:0)
您不能在此处使用.closest(),它会在其父级中找到控件。你应该在这里使用prev():
<script>
$("#confirm").click(function ()
{
var a = $(this).prev("input#number").val();
alert(a);
}
</script>