我有这个jquery脚本点击链接add info
然后隐藏它并显示一个表单。当你按下取消时它需要再次显示h3,但是deosnt显示它,我不知道为什么:
继承我的工作代码:http://jsfiddle.net/GLqcx/2/
答案 0 :(得分:3)
$("h3").show();
应该是
$("h3 a").show();
答案 1 :(得分:0)
或者,
$("h3").hide();
而不是$(this).hide()
当你在代码中隐藏链接而不是h3时。因此,当您尝试显示h3时,仍然隐藏了一个链接。
答案 2 :(得分:0)
在.addInfo
点击处理程序中,您隐藏<a>
这一行:
$(this).hide();
但是,在.cancelInfo
点击处理程序中,您显示的是<h3>
:
$("h3").show();
您需要更改其中一个,以便隐藏/显示<h3>
或<a>
。
我冒昧地解决了你的问题并优化了你的代码。这就是我想出的:
$(".cancelInfo").click(function(e) {
e.preventDefault();
$(this).parent().hide().next().show();
});
$(".addInfo").click(function(e) {
e.preventDefault();
$(this).parent().hide().prev().show();
});
Here's a demo showing that code in action ->
我们现在使用我们对文档结构的了解来遍历和操作正确的元素,而不是使用广泛的选择器。此外,我们只做一个选择,从而节省了一些时间和工作。