<p id="1">显示内容</p>
<ul id="trace_1" class="trace_content" style="display: none;">
<li>...........</li>
<li>...........</li>
<li>...........</li>
<li>...........</li>
</ul><p id="2">显示内容</p>
<ul id="trace_2" class="trace_content" style="display: none;">
<li>...........</li>
<li>...........</li>
<li>...........</li>
<li>...........</li>
</ul>
<p id="3">显示内容</p>
<ul id="trace_3" class="trace_content" style="display: none;">
<li>...........</li>
<li>...........</li>
<li>...........</li>
<li>...........</li>
</ul>上面是 html内容<script type="text/javascript"> 
$(document).ready(function(){
$("a.trace_show").toggle(function(){
      $(".trace_content").hide('slow');
    },function(){
      $(".trace_content").show('fast');
    });
});
 
</script>在网上找到上面这种方法,他点击一个就是3个所有的都隐藏/显示了。 是想要单个 单个的。 不熟悉js。请教了。

解决方案 »

  1.   

    你写的JS代码跟html结构对不上啊,给p加了trace_show类,自己跟据你实际的html结构改一下吧。
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
    $(document).ready( function() {
    $("p.trace_show").toggle( function() {
    $(this).next("ul").show('fast');
    }, function() {
    $(this).next("ul").hide('slow');
    });
    });
    </script>
    </head><body>
    <p id="1" class="trace_show">显示内容</p>
    <ul id="trace_1" class="trace_content" style="display: none;">
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
    </ul>
    <p id="2" class="trace_show">显示内容</p>
    <ul id="trace_2" class="trace_content" style="display: none;">
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
    </ul>
    <p id="3" class="trace_show">显示内容</p>
    <ul id="trace_3" class="trace_content" style="display: none;">
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
    </ul>
    </body>
    </html>
      

  2.   


    我本来是这样的:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
    $(document).ready( function() {
        $("p.trace_show").toggle( function() {
            $(this).next("ul").show('fast');
        }, function() {
            $(this).next("ul").hide('slow');
        });
    });
    </script>
    </head><body>
    <p id="1"><a href="#" class="trace_show">显示内容</a></p>
    <ul id="trace_1" class="trace_content" style="display: none;">
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
    </ul>
    <p id="2"><a href="#" class="trace_show">显示内容</a></p>
    <ul id="trace_2" class="trace_content" style="display: none;">
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
    </ul>
    <p id="3"> <a href="#" class="trace_show">显示内容</a></p>
    <ul id="trace_3" class="trace_content" style="display: none;">
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
      <li>...........</li>
    </ul>
    </body>
    </html>
     这样实现的效果就是, 只要点击了一个“显示内容”,下面的就全部都显示了。  我是想要单个控制, ID是1的“显示内容”控制id trace_1  这样子。
      

  3.   

    $(document).ready( function() {
        $("a.trace_show").toggle( function() {
            $(this).parent().next("ul").show('fast');
        }, function() {
            $(this).parent().next("ul").hide('slow');
        });
    });
      

  4.   

    顺便指出一点,用数值作为id属性值是不符合xhtml规范的,具体参考XHTML 结构化之二