为什么删除最后一个孩子不起作用?

时间:2011-07-26 13:42:33

标签: jquery

我正在尝试删除div旧图像并使用最后一个孩子(jQuery)添加一个新图像,但它不起作用我在旧图像旁边添加了一个新图像。 这是jQuery代码

$(function() {

$('.iconWrapper span').click(function(e){
 var kleur=$(this).attr('class');
        switch(kleur){
            case 'color1':
             $("#div1 img:last-child").remove();
             alert($("#div1").html());
               $('#div1').append('<img src="color/color1.jpg">');
            break;
             case 'color2':
             $("#div1 img:last-child").remove();
               $('#div1').append('<img src="color/color2.jpg">');
             break;
            case 'color3':
             $("#div1 img:last-child").remove();
               $('#div1').append('<img src="color/color3.jpg">');
           break;
        }

        $('#hiddenimg').val(kleur);
    e.preventDefault(); 

 });

html code ::

<?php
error_reporting('E_ALL');
ini_set('display_errors', 1);
session_start();
$img=$_POST['img'];
$_SESSION['img']=$img;
?>
<div class="iconWrapper">
    <ul class="color">
        <li>
            <a href="#" title="Selecteer"><span class="color1"></span></a>                               
        </li>
        <li>
            <a href="#" title="Selecteer "><span class="color2" ></span></a>                               
        </li>
        <li>
            <a href="#" title="Selecteer"><span class="color3"></span></a>                               
        </li>
        <li>
            <a href="#" title="Selecteer"><span class="color4"></span></a>                               
        </li>
    </ul>
</div>

<form method="post" action="step3.php">    
    <div id="div1" >
        <?php if(isset($_SESSION['img'])){
            echo '<img src="' . $_SESSION['img'] . '" >' ;
        } ?>
        <input name="color" type="text" value="" id="hiddenimg" />
        <input name="submit" type="submit" value="Submit" />
    </div>
</form>

2 个答案:

答案 0 :(得分:4)

你可以试试jQuery:last selector:link

因为你需要这样的东西:

$("#div1 img:last").remove();

或更好的版本

$("#div1 img").filter(":last").remove();

我现在不知道要测试,我希望这是你的工作解决方案:)

(对不起我的英文:“&gt;)

答案 1 :(得分:0)

您需要:last而不是:last-child