2
好吧,我使用Razor和jQuery 1.5.1,如果这影响了答案。JQuery事件不会触发后被连接
我有一些简单的jquery,我从本网站上的另一篇文章复制。我有可变数量的部分使用Razor引擎呈现。
我希望能够隐藏/下的每个部分显示数据(其被包裹在一个div。)
所以HTML是
<div>Course 1<a class="toggle" href="javascript:void(0);">Click</a>
<div class="contentHidden" style="display:none;"> content here </div></div>
<div>Course 2<a class="toggle" href="javascript:void(0);">Click</a>
<div class="contentHidden" style="display:none;"> content here </div></div>
而jQuery是;
<script type="text/javascript">
$(document).ready(function(e) {
$(".toggle").click(function (e) {
e.preventDefault();
$(this).children("div").toggle();
});
});
jQuery的是在视图的底部,我在document.ready
添加在位,确保<a>
标签确实存在。
我考虑过的一件事是,我使用剃须刀@foreach()
创建页面内容,但是在将内容传输到浏览器之前必须在服务器上进行,所以我不相信我之前正在这样做链接已创建,并且不需要使用直播或委托。
但现在我卡住了,所以任何人都可以建议我怎么可以跟踪下来(或更好,但修复它:-)
该死的,我只是关闭了开发PC。我会在早上检查这件事情,如果它起作用,就把我的头埋在耻辱中,然后给你打个招呼,谢谢。我甚至确保我将这些内容包装在主div中,并且没有发现明显的:$。 再次感谢! – Matt 2012-07-25 19:32:11
'$(this).siblings('。contentHidden')。toggle()'也是一个选项,如果你想隐藏的div不总是下一个元素 – MrOBrian 2012-07-25 19:33:51
是。 'div'不在'a'内,因此它不是小孩。 – jackwanders 2012-07-25 19:33:54