Jquery查找动态创建的Id和wireup函数
我有一个jquery函数,可以按id展开和折叠div: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; });
<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>