0

我正在尝试制作简单的 cms;下面的代码是 index.php。

现在我找不到让 jquery 选择每个项目的方法,因为它们具有相同的名称。
例如我想做的是:选择 (on $(.subject)).hover 然后 (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

有两种选择。您可以使用 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 回答