0

我是 jQuery 初学者,目前我正在做一些练习,在我学到的每一件事上——大约几天我开始做 jQuery 课程。

这是我正在研究的 jsfiddle http://jsfiddle.net/nPcZJ/示例,

我想知道有没有更好的方法来达到同样的结果?

但是我的一个朋友告诉我,如果我们在特定页面上显示了 1000 个问题,并且我们想根据点击的问题显示/隐藏答案。

他说这会导致页面加载不足...?
它似乎与几个问题完美配合。但是他说1000个问题怎么样..? 如果我有 1000 个会导致页面无法加载的问题,这是真的吗?

$(document).ready(function(){
    $("dt").click(function(){
        var qst = $(this).parent().find('dd');
        $(qst).slideToggle();
    })
})

<dl>
     <dt>Q-1 What is your favorite scripting language ?</dt>
     <dd style="display: none">Ans - PHP, C++ </dd>      
</dl>

<dl>
    <dt>Q-2 What is your favorite IDE software ?</dt>
    <dd style="display: none">Ans - Aptana Studio 3, Dreamweaver</dd></dl>  
<dl>
    <dt>Q-3 Where are you from ?</dt>
     <dd style="display: none">Ans - I am from Russia</dd>  
</dl>

<dl>
    <dt>Q-4 Can you build small scripts - complex scripts ?</dt>
    <dd style="display: none">Ans - Yes, i can build small - complex scripts and from scratch</dd>
</dl>
4

1 回答 1

0

您可以通过直接dd从您的event.target.nextElementSibling

$("dt").click(function(e){
    var qst=e.target.nextElementSibling; // which is same as $(this).next();
    //var qst = $(this).parent().find('dd');
    $(qst).slideToggle();
});

有趣的是,所以它也可以有更短的标记,比如

<dl>
    <dt>Q-1 What is your favorite scripting language ?</dt>
    <dd style="display: none">Ans - PHP, C++ </dd>
    <dt>Q-2 What is your favorite IDE software ?</dt>
    <dd style="display: none">Ans - Aptana Studio 3, Dreamweaver</dd></dl>     
</dl>
于 2013-04-26T20:49:58.970 回答