2013-03-29 44 views
1

我得到这个脚本:如何将jQuery函数应用于具有相似ID的DOM元素?

<script> 
    $('#zoom_01').elevateZoom({}); 
</script> 

#zoom_01是图像的ID。我有ID的像这么多的图片:

zoom_01 
zoom_02 
zoom_03 
zoom_04 
and so on 

如何使这样的JavaScript将采取所有的ID,而不是一个? 我想是这样的:

<script> 
    <?php 
    foreach ($ArrayAllOfIDs as $i) { 
     $('#<?php echo $i; } ?>').elevateZoom({}); 
    } 
    ?> 
</script> 

但它没有工作。

+1

你有一个错字 - 应该是'$( '#<?PHP的echo $ I;?>')elevateZoom({});' – Adidi

+0

您也可以通过IDS迭代中的JS。可以有一个使用与变量串联的字符串的选择器。 –

+0

括号}在错误的地方。它解决了这个问题吗? –

回答

3

将一个类添加到所有可能会同时受到影响的图像。
ID用于识别唯一的,不重复的项目。由于您的图像几乎相同,所以课程可以将它们组合在一起。

然后,改变你的JavaScript选择类。

$('.zoom').elevateZoom({}); 
0

我不知道什么是elevateZoom,但你可以有可能有这样的语法:

$('#zoom_01, #zoom_02, #zoom_03, ...').elevateZoom({}); 
4

虽然使用上面提到的class属性可能是你最好的选择,如果你是被迫与标识工作,无论出于何种原因,您可以使用“开始与”选择像

$("[id^=zoom_]").elevateZoom({}) 

将适用elevateZoom与所有的DOM元素以“zoom_”开头的id

0

使PHP写出Javascript,以便在页面加载到浏览器时可用。

<script> 
<?php 
foreach ($ArrayAllOfIDs as $i) { 
    echo '$(\'#zoom_'. $i .'} \').elevateZoom({});\n'; 
} 
?> 
</script> 
相关问题