我需要切换(显示/隐藏)<p>
这是所点击的<li>
的子元素,而所有其他<p>
应该隐藏。我能够做到这一点。
但是点击相同的元素(现在显示)不会隐藏。如何实现这一目标?
$(document).ready(function(){
$("p").hide();
$("li").click(function(){
$("p").not(this).hide(200);
$("p", this).toggle(200);
});
});
&#13;
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
<body>
<ul>
<li><a>q1</a>
<p>a1</p>
</li>
<li><a>q2</a>
<p>a3</p>
</li>
<li><a>q3</a>
<p>a3</p>
</li>
<li><a>q4</a>
<p>a4</p>
</li>
</ul>
</body>
</html>
&#13;
答案 0 :(得分:2)
您需要将要排除的p
元素传递给not()
,您现在正在传递this
元素<{1}}
li
&#13;
$(document).ready(function() {
$("p").hide();
$("li").click(function() {
var $ps = $("p", this).stop(true).toggle(200);
$("p").not($ps).stop(true).hide(200);
});
});
&#13;
答案 1 :(得分:0)
$(document).ready(function(){
$("p").hide();
$("li").click(function(){
$(this).find('p').toggle(200);
$(this).siblings('p').hide(200);
});
});
DEMO 试试这样做
答案 2 :(得分:0)
使用这个简单的逻辑:
$(document).ready(function(){
$("p").hide();
$("li").click(function(){
$("p").not(this).hide(200);
if($("p",this).is(":visible")){
$("p", this).hide(200);}
else{
$("p", this).show(200);}
});
});
检查this小提琴
答案 3 :(得分:0)
更改您的jQuery代码,如
alter SESSION set NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS';