Javascript jquery this.slides无法正常工作
我目前正在为一个显示年份的网站页面制作一个时间表,当点击它时,它应该会打开并显示那些年份发生的事情,并隐藏其他年份的内容。出于某种原因,我的jquery做的恰恰相反,它保留我单击的内容,并每隔一年隐藏一次它们的数据 这是我的HTMLJavascript jquery this.slides无法正常工作,javascript,jquery,html,elements,Javascript,Jquery,Html,Elements,我目前正在为一个显示年份的网站页面制作一个时间表,当点击它时,它应该会打开并显示那些年份发生的事情,并隐藏其他年份的内容。出于某种原因,我的jquery做的恰恰相反,它保留我单击的内容,并每隔一年隐藏一次它们的数据 这是我的HTML <div class="timeline"> <ul> <li class="timeli">1996 <ul class="timeUlSub">
<div class="timeline">
<ul>
<li class="timeli">1996
<ul class="timeUlSub">
<li>
<div class="arrow-up"></div>
<p class="timeline-description">test</p>
</li>
<li>
<div class="arrow-up"></div>
<p class="timeline-description">test</p>
</li>
</ul>
</li>
<li class="timeli">1997
<ul class="timeUlSub">
<li>
<div class="arrow-up"></div>
<p class="timeline-description">Test</p>
</li>
</ul>
</li>
<li class="timeli">1999
<ul class="timeUlSub">
<li>
<div class="arrow-up"></div>
<p class="timeline-description">test</p>
</li>
</ul>
</li>
</ul>
</div>
这里是编辑的答案,它的工作非常适合我谢谢你的帮助
$(document).ready(function(){
$(".timeli").click(function(){
$(this).find($(".timeUlSub")).slideToggle("slow", function(){});
});});
.timeUlSub
是单击的li元素的子元素。因此,您需要使用.find()
而不是.sides()
。您也不需要jquery对象,只需使用所需元素的选择器即可:
$(this).find(".timeUlSub").slideToggle("slow", function(){});
完成点击事件:
$(".timeli").click(function(){
$(this).find(".timeUlSub").slideToggle("slow", function(){});
});
.timeUlSub
是单击的li元素的子元素。因此,您需要使用.find()
而不是.sides()
。您也不需要jquery对象,只需使用所需元素的选择器即可:
$(this).find(".timeUlSub").slideToggle("slow", function(){});
完成点击事件:
$(".timeli").click(function(){
$(this).find(".timeUlSub").slideToggle("slow", function(){});
});
timeUlSub
是timeli
的子元素,而不是同级元素。使用或
$(this).find(".timeUlSub").slideToggle("slow", function(){});
或
注意:children()
timeUlSub
是timeli
的子元素,而不是同级元素。使用或
$(this).find(".timeUlSub").slideToggle("slow", function(){});
或
注意:children()
我相信您想隐藏其他元素的子元素,但也要显示已单击元素的子元素
$(document).ready(function () {
$(".timeli").click(function () {
$(this).siblings().find(".timeUlSub").hide("slow");
$(".timeUlSub", this).show("slow");
});
});
这种行为是“打开我单击的一个,隐藏其余的”
如果你想“切换我点击的那个”,你根本不需要担心兄弟姐妹
$(".timeUlSub", this).slideToggle("slow");
,或。我相信您希望隐藏其他元素的子元素,但同时显示已单击元素的子元素
$(document).ready(function () {
$(".timeli").click(function () {
$(this).siblings().find(".timeUlSub").hide("slow");
$(".timeUlSub", this).show("slow");
});
});
这种行为是“打开我单击的一个,隐藏其余的”
如果你想“切换我点击的那个”,你根本不需要担心兄弟姐妹
$(".timeUlSub", this).slideToggle("slow");
,或..timeUlSub不是兄弟元素,而是.timeli的子元素
您应该重构代码以:
$(".timeli").click(function(){
$(this).find(".timeUlSub").slideToggle("slow", function(){});
});
更好的实施方式是授权点击:
$(document).on("click", ".timeli", function(){
$(this).find(".timeUlSub").slideToggle("slow", function(){});
});
.timeUlSub不是.timeli的兄弟元素,而是.timeli的子元素
您应该重构代码以:
$(".timeli").click(function(){
$(this).find(".timeUlSub").slideToggle("slow", function(){});
});
更好的实施方式是授权点击:
$(document).on("click", ".timeli", function(){
$(this).find(".timeUlSub").slideToggle("slow", function(){});
});
$(this).兄弟姐妹($(“.timeUlSub”)
这个$(“.timeUlSub”)
没有任何意义。认为你想找到…$(this).兄弟姐妹($(“.timeUlSub”)
,$(“.timeUlSub”)
毫无意义。以为你想找到…谢谢!谢谢你的描述,我错误地认为兄弟姐妹和孩子都是可以互换的。“它现在工作得很好。”亚历克斯拜尔,很高兴能帮上忙!我没有投反对票。我认为你的回答说得很好,说明了我需要什么,它帮助我解决了问题,并解释了我不理解的地方。@AlexBeyer,那不是针对你的。:)谢谢,谢谢!谢谢你的描述,我错误地认为兄弟姐妹和孩子都是可以互换的。“它现在工作得很好。”亚历克斯拜尔,很高兴能帮上忙!我没有投反对票。我认为你的回答说得很好,说明了我需要什么,它帮助我解决了问题,并解释了我不理解的地方。@AlexBeyer,那不是针对你的。:)非常感谢。