使用jquery遍历php变量div类
我在使用变量生成的PHPDIV类和jQuery来使用fadeToggle()特性时遇到了一些问题。 我有两个问题。第一个包含要单击的链接,第二个包含有关链接的说明,我想在单击以显示和隐藏说明时向第一个div添加一个简单的fadeToggle。但是,div类是使用php for循环动态生成的。我有12个不同的链接和12个不同的描述,它们是使用php for循环从外部文件夹插入的。代码如下:使用jquery遍历php变量div类,php,jquery,html,css,Php,Jquery,Html,Css,我在使用变量生成的PHPDIV类和jQuery来使用fadeToggle()特性时遇到了一些问题。 我有两个问题。第一个包含要单击的链接,第二个包含有关链接的说明,我想在单击以显示和隐藏说明时向第一个div添加一个简单的fadeToggle。但是,div类是使用php for循环动态生成的。我有12个不同的链接和12个不同的描述,它们是使用php for循环从外部文件夹插入的。代码如下: <?php for ($i = 1; $i <= 12; $i++): ?> <p
<?php for ($i = 1; $i <= 12; $i++): ?>
<p>
<a href="" onclick="return false" class="<?php echo "project$i-text-link-visible"; ?>">
<span class="text-expand-symbol"></span>
View project details:
</a>
</p>
<!-- PROJECT DESCRIPTION -->
<div class="<?php echo "project$i-description-hidden"; ?>">
<?php include 'descriptions/project' . $i . '.inc.html.php'; ?>
</div>
<?php endfor; ?>
因此,我在使用jQuery的fadeToggle时遇到了问题,因为我不知道如何迭代动态生成的PHPDIV类。如果我将div类更改为“projectdescription”之类的静态类,那么当我单击任何链接时,我尝试的脚本会导致每个描述框立即打开。任何想法都将不胜感激
如果愿意,您可以查看该网站并亲自查看问题。访问并向下滚动到“课堂项目”部分,了解我要完成的任务。目前,该站点使用丑陋的javascript代码将css属性从隐藏更改为可见,但我想使用jQuery来实现这一点。任何想法都将不胜感激。提前感谢。最好的解决方案是在php生成的标记中添加一个额外的类,即您将有两个类:
class="something-common <?php echo $phpgenerated; ?>"
如果使用jQuery运行类似的循环,则应该能够按照在PHP中创建链接的方式将事件处理程序分配给链接:
<script>
for (i=1; i<=12; i++)
{ $('.project' + i + '-text-link-visible').click(function()
{
// use the fadeToggle() on the description <div> here
});
}
</script>
对于(i=1;i使用:
通过这种方式,您可以将每个锚点绑定到其相关的div,而不会影响类。您可以这样做,而无需在标记中动态生成类或id
请参阅下面的链接,这应该会有所帮助
请出示(样品)呈现的HTML.JavaScript不适用于PHP服务器端脚本,只适用于浏览器在客户端看到的脚本。非常感谢你,moonwave。那太完美了。它做到了。你能告诉我任何地方吗,这样我就可以学习更多关于将锚定绑定到div的知识。这是我第一次听说如何做。再次感谢。不客气。我现在无法提供适当的资源-请记住,自定义数据属性不会影响html的有效性,因此您不能使用[但不能滥用!]您想要多少。需要时请随时再次询问!我还想知道如何将它们附加到我刚刚想出的。html:
$('a.project-link')
OR
$('.project-link', 'a')
<script>
for (i=1; i<=12; i++)
{ $('.project' + i + '-text-link-visible').click(function()
{
// use the fadeToggle() on the description <div> here
});
}
</script>
<?php for ($i = 1; $i <= 12; $i++): ?>
<a href="#" data-target="<?php echo $i ?>"> ... </a>
<div id="target_<?php echo $i ?>"> ... </div>
<?php endfor; ?>
$(function(){
$('a[data-target]').on('click', function(event){
event.preventDefault();
$('#target_' + $(this).attr('data-target')).fadeToggle();
});
});