Jquery 选择最近的隐藏输入
我有以下几个部门:Jquery 选择最近的隐藏输入,jquery,Jquery,我有以下几个部门: <div class="vote"> <input type="hidden" name="reply-id" value="83743"> <a class="vote-up-0" title="Vote Up This Comment">up</a> <a class="vote-down-0" title="Vote Down This Comment">down<
<div class="vote">
<input type="hidden" name="reply-id" value="83743">
<a class="vote-up-0" title="Vote Up This Comment">up</a>
<a class="vote-down-0" title="Vote Down This Comment">down</a>
</div>
<div class="vote">
<input type="hidden" name="reply-id" class="reply-id" value="83745">
<a class="vote-up-0" title="Vote Up This Comment">up</a>
<a class="vote-down-0" title="Vote Down This Comment">down</a>
</div>
试试这个代码
$(document).ready(function () {
$('a.vote-up-0').click(function () {
var id = $(this).parent().find('.reply-id').val();
});
});
closest
的工作原理是沿着DOM树查找与选择器匹配的第一个元素。它只与祖先元素匹配。它在任何时候都不会查看同级元素
您要使用:
如果您想稍微概括一下,使用任何
输入
-元素名称,而不必知道父元素的名称,您可以使用:
var idOfHiddenInput = $(this).parent().find('input:hidden:first').attr('id');
参考资料:
.attr
访问它。例如,您可以将val
标记如下:
<a class="vote-up-0" title="Vote Up This Comment" val="2345">up</a>
这可能不需要隐藏字段,因为您将隐藏元素包装在div中,也可以使用下面的方法
$(this).closest('div').find('input[name="reply-id"]').val()
这将转到最近的DOM元素,并将找到名为“reply id”的隐藏输入元素。jQuery选择没有
parent
属性。你的意思是parent()
。如果我知道输入的名称,我会喜欢.find('.reply id')吗?
<a class="vote-up-0" title="Vote Up This Comment" val="2345">up</a>
$(this).attr("val")
$(this).closest('div').find('input[name="reply-id"]').val()