jquery 根据当前元素获取上一级下一级元素
1.加载 jQuery 库,可以直接用 google 的。
2. jQuery 代码,可以直接放到 js 文件中。
jQuery(document).ready(function($){
$('.comment-reply-link').click(function() {
//获取回复者的id
var atid = '"#' + $(this).parent().parent().attr("id") + '"';
//获取回复者的昵称
var atname = $(this).parent().find('.comment_author').text();
$("#comment").attr("value","<a href=" + atid + ">@" + atname + " </a>").focus();
});
$('#cancel-comment-reply a').click(function() {
$("#comment").attr("value",'');
});
});
3.解释 jQuery 代码
要获取用户 id ,首先需要了解评论部分的 DOM 结构,以 Melody 为例,用 Firebug 查看其一条评论的部分 HTML ,
看了图相信童鞋们应该大概明白了, .comment-reply-link 的上两级父元素包含回复者的 id ,因此可以在这里获取回复者的id,而在 .comment-reply-link 的同辈元素中包含了用户的昵称,看到这里相信各位童鞋再看看上面的 jQuery 代码应该不难理解了!
我们首先应该知道自己的评论模板在哪里有输出回复者的 id ,在哪里有输出回复者的昵称,然后用 jQuery 的选择器即可以获取相关的数据,下面列出一些常用的选择器供大家参考:
.parent() 父元素, .children() 子元素, .prev() 前一个同辈元素, .next() 下一个同辈元素
更多的选择器可以参考 w3cschool 的资料
http://www.w3school.com.cn/jquery/jquery_ref_traversing.asp
扩展一下:)
GridView 获取生成html后获取tr
<head runat="server">
<title></title>
<script src="js/jquery-1.6.2.min.js" type="text/javascript"></script>
<script>
$(function () {
$("[name=id]").each(function () {
var $obj = $(this);
$obj.parents("tr").attr("id", "tr" + $obj.html());
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView id="GridView1" runat="server" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<span name='id'><%#eval_r("id") %></span>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
</body>
</html>