我必须接近,我已经尝试了不同的方法来实现我的目标,但都失败了。我相信有人会指出答案,我将给自己一个涂料巴掌。我的目标是有一个问答部分,当你点击它时会显示答案。我尝试过简单的slideToggle()和隐藏子方法。我认为slideToggle()将是我最需要的。由于Q& A是数据驱动的,我使用的是类而不是ID。我认为考虑到我的问题的性质,看到我失败的jsfiddles将显示尝试的内容并且更有帮助。
使用儿童方法我在http://jsfiddle.net/5L8fQ/6/尝试了它。
$(document).ready(function () {
// hide the answers
//$('.answer').hide();
$('showanswer').click(function () {
$(this).parent().parent().next('.answer').slideToggle();
});
});
HTML很简单。这是一篇
<ul id="questionsContainer">
<li>
<div><a href="#" class="showanswer">Where can I find an installation document?</a>
</div>
</li>
<div class="answer">
<h4>Answer</h4>
<ul>
<li>Login</li>
<li>Go to download</li>
<li>Installs and Updates</li>
<li>Click on download.</li>
</ul>
</div>
<br />
关于这一点,我已经注释掉了隐藏答案类,因为我想让调试对我来说很简单。 我也尝试了一种基于http://www.jacklmoore.com/notes/jquery-accordion-tutorial/的不同方法,它显示了我想做的事情,我希望我的代码也能这样做。我这样做的尝试是在同一个jsfiddle.net链接,但版本8。应该注意的是,HTML是针对第一个项目构建的,我一直在玩代码以查看其他内容会发生什么。我的想法是,如果它在第一个项目上工作,我可以将结构更改为其他项目。我希望这是坚实的想法。
除了JQuery帮助之外,我对这里的每个人都有一个问题。是否可以链接到页面,就像您从外部页面进行链接并将其转到接收页面中的某个部分,链接转到某个部分并启动该链接的slideToggle()事件。换句话说,如果有人想要查看问题和答案并且他们来自外部页面,那么该链接会打开以显示答案吗?从我在JQuery上学到的东西,我相信答案是否定的。 (这会是另一种自我诱导的涂料吗?)
感谢您考虑帮助我。
答案 0 :(得分:0)
试试这个:
$(".showanswer").click(function () { // write .showanswer instead of showanswer
$(this).closest("li").next(".answer").slideToggle();
return false;
});
.closest()
遍历DOM树。