大家好!
我想制作一个习题+答案网页,功能是单击题目后的“提示”字符可显示本次答案,但同时还要隐藏前次显示的答案,即页面中只能有一个显示答案。
我的思路是将本次事件进行显示操作w.show()的局部变量w赋值给全局变量v,在下次事件中进行显示操作w.show()后,再进行隐藏操作v.hide()。但不知为何总是提示hide函数不存在(Uncaught TypeError:v.hide is not a function)。我错在哪里了?想麻烦您帮我修改一下代码,非常感谢哦!
<body>
<div class="xtshow"><p> 习题内容1<span>提示<i>答案1</i></span></p></div>
<div class="xtshow"><p> 习题内容2<span>提示<i>答案2</i></span></p></div>
<div class="xtshow"><p> 习题内容3<span>提示<i>答案3</i></span></p></div>
<script type="text/javascript">
var v=""; //全局变量,首次为空字符
$(".xtshow").each(function(){
$(this).find("p span").click( function(){
w = $(this).find("i"); //局部变量,获取当前答案
w.show(); //显示当前答案
v.hide(); //隐藏上次答案
v=w; //更新本次答案
});
});
</script>
</body>