Jquery查找动态创建的Id和wireup函数

Jquery查找动态创建的Id和wireup函数,jquery,.net,Jquery,.net,我有一个jquery函数,可以按id展开和折叠div: <script type="text/javascript"> $(function(){ $('#mySlideContent').css('display','none'); $('#mySlideToggler').click(function(){ $('#mySlideContent').slideToggle('fast'); return false; });

我有一个jquery函数,可以按id展开和折叠div:

<script type="text/javascript">
$(function(){
    $('#mySlideContent').css('display','none');
    $('#mySlideToggler').click(function(){
        $('#mySlideContent').slideToggle('fast');
        return false;
    });
});
</script>

$(函数(){
$('#mySlideContent').css('display','none');
$('#mySlideToggler')。单击(函数(){
$(“#mySlideContent”).slideToggle('fast');
返回false;
});
});
我希望有多个slideContent div,每个都连接到相应的slideToggler div。但是,slideContent和slideToggler div的数量是在页面上动态创建的,带有一个“for each”,如下所示

<% For Each c In Contacts%>
    <li id="grid_<%= c.ContactId %>" class="grid">
        <div class="inner">
            <div class="col">
                <div id="mySlideToggler">
                    <label>Name</label> 
                </div>
                <div id="mySlideContent" class="col-inner">
                    <%= c.Name%>
                </div>
            </div>
        </div>
    </li>
<%Next%>

  • 名称

  • 如何传入动态创建的div id以便重用我的函数。

    您的.net代码将创建无效html,因为它将使用相同的
    mySlideToggler
    mySlideContent
    id创建多个元素。。(并且id必须是唯一的)

    如果您将其更改为创建有效的html(改为使用类)

    
    
  • 名称
  • 然后使用脚本

    <script type="text/javascript">
    $(function(){
        $('.mySlideContent').hide();
        $('.mySlideToggler').click(function(){
            $(this).next().slideToggle('fast');
            return false;
        });
    });
    </script>
    
    
    $(函数(){
    $('.mySlideContent').hide();
    $('.mySlideToggler')。单击(函数(){
    $(this.next().slideToggle('fast');
    返回false;
    });
    });
    
    为什么不改用类呢
    .slideToggler
    .slideContent
    应该足够了。是的,我最初是这样设置的,但是每个切换div打开和关闭每个内容div。我在寻找动态创建的每个内容div都有一个切换的功能。这只是如何正确遍历DOM的问题,请看下面的答案,以获得一个完美的示例。是的,我最初是这样设置的,但是每个切换div都会打开和关闭每个内容div。我正在寻找动态创建的每个内容div都有一个切换的功能。@Princess,您一定使用了
    $('.mySlideContent')。slideToggle('fast'))
    。如果您仔细阅读代码,您将看到
    $(this).next().slideToggle('fast')
    $(this).next()
    部分从单击的元素中查找下一个元素,而不是所有类似的元素..aight,让我试一试。
    <script type="text/javascript">
    $(function(){
        $('.mySlideContent').hide();
        $('.mySlideToggler').click(function(){
            $(this).next().slideToggle('fast');
            return false;
        });
    });
    </script>