我有一个包含帖子的HTML页面。
帖子的定义是:
<div class="post">
<p>...</p>
<a href="#" class="post-react">Like</a>
<input type="hidden" name="post-id" value="[postid]">
</div>
一个页面可以包含许多此类帖子。 当我单击“赞”时,如何检测单击了哪个帖子元素的“赞”按钮?
我在jquery中尝试过此操作
$(function() {
$('.post-react').bind('click', function() {
$.getJSON('...', {
post_id: $('input[name="post-id"]', this).val()
}, function(data) {
//something
});
return false;
});
});
答案 0 :(得分:3)
$('input[name="post-id"]', this)
正在寻找一个this
的后代输入,但该输入不在<a>
内,而是同级
改为使用next()
或siblings()
或遍历post
并使用find()
post_id: $(this).next().val()
// OR
post_id: $(this).siblings('input[name="post-id"]').val()
// OR
post_id: $(this).closest('.post').find('input[name="post-id"]').val()
请注意,bind()
是一种非常老的方法,已被on()
取代