Jquery获取输入隐藏值不起作用

时间:2012-01-02 15:30:24

标签: jquery siblings

我试图获取隐藏输入类型的值,但它不起作用。

JQUERY(在脚本标签中):

$('.flagComment').click(function() {
    var commentid = $(this).siblings('.commentId').attr('value');

    alert(commentid);
});

HTML(在while循环中多次回声):

<div class='bar'>
    <a href='#' class='flagComment'>Flag</a>
</div>

<input type='hidden' class='commentId' value='testvalue' />

3 个答案:

答案 0 :(得分:3)

尝试:

var commentid = $(this).parent().next('.commentId').val();

因为隐藏的输入是div的兄弟,而不是锚。

答案 1 :(得分:0)

这应该效果更好,因为.commentId不是.flagComment的兄弟:

$('.flagComment').click(function(){
    var commentid = $(this).parent().next('.commentId').val();
    alert(commentid);
});

Demo

答案 2 :(得分:0)

输入不是此链接的兄弟。现在它起作用了:

<div class='bar'>
<a href='#' class='flagComment'>Flag</a>
<input type='hidden' class='commentId' value='testvalue' />
</div>

你也可以尝试使用nearest()函数:

$('.flagComment').click(function() {
    var commentid = $(this).closest('.commentId').attr('value');
    alert(commentid);
});