jQuery Kimliği Seçim dinamik

3 Cevap php

Bu yapılabilir eğer Tabii, yolu ben yaklaşıyorum değil. Burada hiçbir şey gider. Ben bir php yükleme komut görüntüleri yankılanan ediyorum, her img A1, A2, A3, A4 ve başlar benzersiz bir kimliği vardır. Şimdi ancak ben her kimliği için bunu yapmak zorunda, bu img kimliğini seçmek ve istediğiniz eylem oluşturabilirsiniz, ben gibi yenileri oluşturulur bunu yapmak mümkün olmayacak, nasıl (A1 aynı şeyi yapmak için jQuery söylerdim A2, A3) Artım çeşit.

JS

$(document).ready(function(){
   $("#1 ").hover(
   function(){
    $("#A1").slideDown();
   },

   function(){
     $("#A1").slideUp();
   });
});

$(document).ready(function(){
   $("#2 ").hover(

   function(){
     $("#A2").slideDown();
   },
   function(){
     $("#A2").slideUp();
   });
});

PHP

$i= 0; while(($file = $myDir->read()) !==false){
  if(!is_dir($file)){
    $i++;
    //echo "Filename: $file<br/>";
    echo "<div id='images'>";
    echo "<p>";
    echo "<a id='$i'href=\"display/$file\"><img src=\"thumbs/$file\" /> </a>\n";
    echo "</p>";
    echo"</div>";
    echo "<div id='imageHolder' >";
    echo "<img id='A$i' style='display:none' src=\"display/$file\" />";
    echo"</div>";
  }
}

3 Cevap

Nasıl yeni ürün üretiliyor? Sayfa yük, veya jQuery ile bir ajax isteği kullanıyorsunuz? Her iki durumda da belli bir değerin (yani "A") bu şekilde başlayan tüm öğeleri seçebilirsiniz:

$("a").hover(
    function(){
        $(this).find(img[id^='A']).slideDown();
    },
    function(){
        $(this).find(img[id^='A']).slideUp();
});

Biri ben burada yokum eğer bana yardım çekinmeyin.

UPDATE

Teşekkürler çocuklar - Ne bu böyle bir şey?

$("a").hover(
    function(){
        id = $(this).attr('id');
        $("#A"+id).slideDown();
    },
    function(){
        id = $(this).attr('id');
        $("#A"+id).slideUp();
});

Bu sayfadaki tüm bağlantıları arar ve slayt öğeleri aramak için (sizin kod başına) kimliğini kullanır. Eğer bunları dinamik oluştururken eğer bir işlev içinde bu koymak ve ajaxComplete tekrar aramak isteyeceksiniz.

Ben bütün nesne kimlikleri tutan bir javascript dizi olurdu. Sonra yapabilirsiniz dizi yoluyla ve her id için sadece döngü yapmak istediğiniz işi.

"Kalıcı" olay işleyicileri (eğer dinamik sayfa görüntüleri ekliyoruz) için jQuery.live () kullanın ya da tüm örnekler yinelenmesi için jQuery.each () kullanın.

Sonunda (canlı etkinliklerle kullanmadan) bu gibi bir şey olurdu:

$("a:has(img.my_image)").each(function(){
    $(this).hover(
        function(){$(this).slideDown();},
        function(){$(this).slideUp();}
    );
});