Jquery:点击“详情”的时候加载隐藏的内容
发布网友
发布时间:2022-04-26 19:44
我来回答
共2个回答
热心网友
时间:2022-05-18 11:07
你好!
按你的需求,我的理解是页面加载时,详情默认是隐藏的。
我这里假设 class="changeTr" 这个样式设置的display为none;也就是页面加载时,所有class="changeTr"的tr是不可见的哈~
下面是showFollowRecords函数的代码:
<script>
function showFollowRecords(obj){
$(".changeTr").hide();
$(obj).parents("tr").next("tr").show();
}
</script>
说明:
<a href="javascript:void(0);" onclick="showFollowRecords(this)" >详情</a>
这里a标签onclick事件传入的this,是实参,即传入a本身到函数showFollowRecords;
function showFollowRecords(obj) {....}
函数定义这里的obj是形参,在处理中通过$(obj)就得到了表示obj的jQuery对象,在当前的调用中就会通过实参this,得到发生onclick事件的a标签;
$(obj).parents("tr") 找到$(obj)的祖先元素tr
$(obj).parents("tr").next("tr") 找到$(obj)的祖先元素tr后,再找这个tr后面的一个tr元素,即祖先元素后面相邻的tr元素
希望对你有帮助!
追问谢谢你哦 昨天晚上已经写出来了 。请问一下$("#more")和$(".more")有什么区别呢?就是选择类和选择id有什么区别?我写了一个方法,多次点击一个连接。选择id的时候只能执行一次隐藏 该表现 选择类的时候就可以进行多次隐藏了
热心网友
时间:2022-05-18 12:25
首先假定你的所有详情对应的a标签的onclick都是showFollowRecords(this),即带有参数this,图片中后面两个漏掉了参数this.
showFollowRecords可以这样子实现:
function showFollowRecords(obj){
$('.changeTr').hide();//隐藏所有该隐藏的内容
$(this).parent().parent().next('.changeTr:first').show();
}
这样子即可实现点击详情链接时展示对应的隐藏内容的效果