怎样将jQuery前一个事件的变量值用于下一个事件

大家好!
我想制作一个习题+答案网页,功能是单击题目后的“提示”字符可显示本次答案,但同时还要隐藏前次显示的答案,即页面中只能有一个显示答案。
我的思路是将本次事件进行显示操作w.show()的局部变量w赋值给全局变量v,在下次事件中进行显示操作w.show()后,再进行隐藏操作v.hide()。但不知为何总是提示hide函数不存在(Uncaught TypeError:v.hide is not a function)。我错在哪里了?想麻烦您帮我修改一下代码,非常感谢哦!

img

<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>

你定义的v是字符串