jQuery没有附加正确的元素

时间:2015-01-06 15:15:18

标签: php jquery html

我正在开发一种显示产品图像的方法,一旦点击图像,我希望它显示得更大。我通过Soap调用获取图像,如下所示:

$xml_params = "
<products>
    <sku>" . $sku . "</sku>
</products>";

$soapVar = new SoapVar($xml_params, XSD_ANYXML, null, null, null);
$images = $this->soapClient->getProductImages(new SoapParam($soapVar, "getProductImages"));

return $images;

$sku变量在调用时传递给上面的函数。

要显示图片我有以下html / php

<div class="art_images">
    <div class="active">

    </div>

    <div class="small_images">
    <?php
        for($x=0; $x < count($images->image); $x++) {
            echo '<img src="' . $images->image[$x]->url . '" class="small_image" id="' . $x . '"></img>';
        }
    ?>
    </div>
</div>

要切换哪个图片显示得更大,我有以下jQuery:

$(document).ready(function() {
    $('.small_image').click(function() {
        var myId = $(this).attr('id');
        var myElement = $('.small_image').get(myId);
        $('.active').empty();
        $(myElement).clone().appendTo('.active');
    });
});

这部分有效。它确实显示了被点击的图片,但是一旦我点击了另一张图片,它就会显示id为1的图片。因此,如果我点击ID为7的图片,它会显示ID为6的图片。如果我{ {1}}显示正确的id(所以在上面的例子中为7),但是当我console.log(myId)时它显示错误的元素(所以id为6的元素)。知道这是怎么回事吗?

0 个答案:

没有答案