我希望开发一个消息收件箱部分。
消息主题将循环显示....该部分已经结束,但问题是我如何通过使用“jQuery $this.next”函数单击主题来查看内容部分。我会把代码放在下面
//PHP
<?php
for($i=0; $i<10; $i++){ ?>
<div id="sub<?php echo $i; ?>" class="subject">subject<?php echo $i; ?></div>
<div id="con<?php echo $i; ?>" class="content">content<?php echo $i; ?></div>
<?php
} ?>
最佳答案
好吧,假设您具有以下结构,并且我们假设每条消息的正文最初都是隐藏的:
<ul id="inbox">
<li class="message">
<h3 class="message-subject">Some subject</h3>
<p class="message-body">Some content</p>
</li>
</ul>
以下代码将在保存每条消息的元素上添加一个点击处理程序,只有在点击消息主题时才会调用该处理程序。然后将显示消息主题元素之后的元素。
注意:这种技术称为事件委托(delegate),比为每个主题元素附加一个处理程序要高效得多。
$('#inbox').on('click', '.message-subject', function () {
//.next() will retrieve the immediately following sibling of the h3 tag
$(this).next().show();
});
编辑:我看到您现在提供了您的 HTML 代码,但您应该对我的示例很满意。
关于javascript - 在循环中切换函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21457867/