我有以下div:

     <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>

(是的,这是SO代码的原始副本,我正在尝试看看他们是如何做到的)。
因此,当用户单击“赞成”或“反对”时,它应该找到隐藏的ID。

这似乎不起作用:
       $('a.vote-up-0').click(function() {

           var id = $(this).closest('.reply-id').val();

最佳答案

closest通过在DOM树上查找与选择器匹配的第一个元素来工作。它匹配祖先元素。它绝不会考虑同级元素。

您要使用 siblings :

$(this).siblings('.reply-id').val();

关于jquery - 选择最近的隐藏输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5688337/

10-12 03:07