我有一个锚点:
<a href="#" onclick="showInfo();" class="nostyle" ></a>
我没有id
或class
名称,因为我是在 xslt 中动态生成的。
当我点击它时,它会显示以前隐藏的包含<a id='close'>
标记的div。我的想法是在点击关闭按钮时更改第一个锚点的背景颜色,但我不知道如何设置它。
如何获取点击的锚点并因此更改它?
答案 0 :(得分:1)
查看此解决方案,查找包含多个隐藏div的页面,每个div都有一个显示/隐藏链接
这适用于1 div和1隐藏和1显示链接
一种简单的方法是,当您单击链接以显示隐藏的div时,通过将$(this)指针存储到全局变量然后显示隐藏的div来保存对链接的引用。如果打开隐藏div的链接具有背景颜色(或类来执行此操作),则可能需要在此时将其删除。 (如果关闭div时颜色只显示,你也可能希望它在打开div时消失?) 单击关闭按钮后,您可以简单地引用相同的全局变量,就像它是一个DOM元素一样,并更改它的背景颜色(或者为它添加一个类,为您完成它)。
$(document).ready(function(){
1)创建全局变量
var showInfoLink = "null";
2)存储$(this)(触发showInfo();
的DOM元素)
function showInfo() {
showInfoLink = $(this);
showInfoLink.removeClass("highlighted"); //if you closed the div & opened again
$("#hidden_div_selector").css("display", "block"); //show hidden div
}
3)更改背景颜色或链接
$("#hidden_div_close_button_selector").click(function(){
if (showInfoLink != "null")
{
showInfoLink.addClass("highlighted"); //color the background of the link
$(this).css("display", "none"); //hide the hidden div
showInfoLink = "null";
}
}
4)CSS对于'突出显示'类(改变了bg颜色)
.highlighted {
background-color: #de9f3c; //random color
}
确保全部在$(document).ready()
中});
答案 1 :(得分:0)
您必须将第一个锚的引用传递给showInfo函数。 像onclick =“showInfo(this);”。 您可以在单击关闭按钮时设置背景颜色,因为您有对第一个锚点的引用。有意义吗?