我正在尝试从具有以下结构$('.sent_comment_action')
的元素向上移动:.message_to_comment
<div class="replay_comment_container">
<input type="hidden" class="message_to_comment" name="message_to_comment" value="1234" />
<a class="new_comment_action" href="#">Add Comment</a>
<div class="comment_form">
<form>
<textarea class="comment_field" name="comment_body"></textarea>
<input class="sent_comment_action" type="submit" value="Send" />
<div class="error"></div>
</form>
</div>
</div>
仅仅因为标记可以在同一页面中重复,仅获取消息的 id 来评论是不够的,如下所示:
var message_id = $('.message_to_comment').val();
正如我$('.sent_comment_action')
将要评论的消息的上下文一样,我可以使用:
//button in question
var message_id = button.parent().parent()... find('.message_to_comment').val();
但我不喜欢拥有一千个 parent() 函数的想法。所以,我的第二次尝试是使用如下closest()
功能:
var message_id = button.closest('.message_to_comment').val();
当我测试上面的代码时,似乎.message_to_comment
永远找不到该元素,因为它返回一个“未定义”。因此,请指导正确的方向以获得更好的解决方案,而不是使用 parent() 函数(如果存在另一种方式)