切换特定的li div

时间:2014-03-15 22:19:32

标签: jquery html toggle

<li><a href="http://www.yahoo.com " target="_blank"> goto yahoo.</a>
<span id="comment"><img src="https://dl.dropboxusercontent.com/u/26715029/img/fc.jpg"       style="vertical-align:middle" width="20" height="20" alt="fc"/>| or comment about yahoo</span>
<div class="commentbox">
<div id="fb-root">coment box is here</div>

</div>

</li>
<li><a href="http://www.google.com " target="_blank"> go to google </a>
<span id="comment"><img src="https://dl.dropboxusercontent.com/u/26715029/img/fc.jpg"  style="vertical-align:middle" width="20" height="20" alt="fc"/>or comment about google</span>
<div class="commentbox">

</div>

</li>

需要切换特定的li div,而不是两者。尝试手风琴,但链接不起作用。 仅供参考:名单要大得多 http://jsfiddle.net/NQw5L/18/

2 个答案:

答案 0 :(得分:0)

ID 必须是唯一的。如果将它们转换为类,则可以使用:

$(document).ready(function () {
    $('.comment').click(function () {
        $(this).next('.commentbox').slideToggle("slow");
    });
});

<强> jsFiddle example

答案 1 :(得分:0)

j08691是对的,但如果您不想手动执行此操作 - 尝试设置类而不是ID并使用此:

$(document).ready(function() {
    var cCtr=0;
    $('.commentbox').each (function() {
       $(this).attr('id','comment'+cCtr++); 
    });
    var cCtr=0;
    $('.comment').each (function() {
       $(this).attr('data-targ', 'comment'+cCtr++);
    });

    $('.comment').click(function() {
        var slId = $(this).attr('data-targ');
        $('#'+slId).slideToggle("slow");

    });
}); 

http://jsfiddle.net/RHsxG/3/