如何将jQuery函数应用于具有相似id的DOM元素


How to apply jQuery function to DOM elements with similar IDs?

我得到了这个脚本:

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

但它没有工作。

虽然如上所述使用class属性可能是您最好的选择,但如果您出于某种原因被迫使用id,您可以使用像

这样的" begin with"选择器
$("[id^=zoom_]").elevateZoom({})

elevateZoom应用于所有以"zoom_"开头的id的DOM元素

为所有将同时受到影响的图像添加一个类。
id用于标识唯一的、不重复的项。由于您的图像几乎都是相同的,所以一个类可以将它们分组在一起。

然后,修改你的javascript选择类。

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

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

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

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

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