Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery遍历php变量div类_Php_Jquery_Html_Css - Fatal编程技术网

使用jquery遍历php变量div类

使用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

我在使用变量生成的PHPDIV类和jQuery来使用fadeToggle()特性时遇到了一些问题。 我有两个问题。第一个包含要单击的链接,第二个包含有关链接的说明,我想在单击以显示和隐藏说明时向第一个div添加一个简单的fadeToggle。但是,div类是使用php for循环动态生成的。我有12个不同的链接和12个不同的描述,它们是使用php for循环从外部文件夹插入的。代码如下:

<?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();

    });

});