0

単純なcmsを作成しようとしています。以下のコードはindex.phpです。

同じ名前であるため、jqueryに各アイテムを選択させる方法が見つかりません。
たとえば、私がやりたいのは次のとおりです。select(on $(。subject))。hover then(a $(。subjectpic))。show

それらに独自の名前を付けるにはどうすればよいですか?

<?php
if(!$query){
    print "submit error";
}
else {
    while($list=mysql_fetch_array($query)){
        print"
        <div class=\"subjectwrap\">
                <div class=\"subject\">$list[subject]</div>
                <div class=\"subjectpic\">$list[subjectpic]</div>
        </div>
        ";
    }
}   
?>
4

1 に答える 1

2

2つのオプションがあります。兄弟のsubjectpicを選択して、jQueryですべてを行うことができます。

$('.subject').hover( function() {
   $(this).closest('.subjectwrap').find('.subjectpic').show();
});

または、PHPを使用して、それぞれに数値のデータサブジェクトインデックスを割り当てることもできます。

<?php
if(!$query){
    print "submit error";
}
else {
    $i = 1;
    while($list=mysql_fetch_array($query)){
        print"
        <div class=\"subjectwrap\">
                <div class=\"subject\" data-subject=\"$i\">$list[subject]</div>
                <div class=\"subjectpic\" data-subject=\"$i\">$list[subjectpic]</div>
        </div>
        ";
        $i++;
    }
}   
?>

PHPで数値インデックスを割り当てることにより、jQueryでそれをターゲットにすることができます。

$('.subject').hover( function() {
    var thisSubject = $(this).attr('data-subject');
    $('.subjectpic[data-subject=' + thisSubject + ']').show();
});
于 2012-10-16T15:09:04.547 に答える