我正在论坛中进行投票功能。我正在循环搜索帖子的答案,每个答案都有一个唯一的ID。每个“答案”都有一些文字,日期和其他数据。
我还添加了一个用户点击投票的图片,其中包含一个类:
<asp:Image runat="server" ImageUrl="~/Resources/Images/UpVoteImg.png" CssClass="upvote"/>
在我的脚本中,我使用类upvote
捕获所有点击事件:
<script>
$('.upvote').click(function () {
var url = '<%= ResolveUrl("~/services/forumservice.asmx/voteup") %>';
var userId = <%=SystemContext.Instance.SystemUser.UserId %>;
var data = '{"entry":"' + 'HOW_DO_I_GET_YOU?' + '", "userid":"' + userId + '"}';
$.ajax({
type: "POST",
url: url,
contentType: "application/json; charset=utf-8",
data: data,
success: function () {
alert('Thanks');
},
error: function () {
}
});
});
</script>
我的问题:点击此图片时,我想调用带有答案ID的网络服务。
我尝试过什么/想到:
答案 0 :(得分:3)
您需要在jQuery中结合使用closest
和attr
方法。
例如:
var userId = $(this).closest(.answercontainer).attr('id');
$(this)
是点击
.closest(selector)
遍历DOM树,直到达到选择器的匹配
.attr('id')
为您提供遍历到元素
如果ID位于DOM的其他位置,则可能需要查看其他一些遍历方法,例如siblings
或find
。