2013-03-29 76 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> 
相關問題