思路是这样的:
1、编写一个方法,带一个jQuery对象参数,注意是jQuery对象
2、方法里面是动态添加Dom元素
3、首先动态创建<span> ($("<span/>"))
4、将创建的span添加到Body上
5、在span里面动态创建img ($("<img src='xxx.gif' alt='xxx.gif'"))
6、通过while(这里是举例)循环判断span里面有没有img元素,如果有多个(注意是多个),把其删掉,只保留一个img1-5的代码我基本会了,关键是第6步,怎么判断span里的img元素,把多余的删掉,只保留一个再问一个问题 js中 hasChildNodes()方法, 在jQuery中是哪个,或者有没有相似的麻烦大家了..

解决方案 »

  1.   

    $("span").find("img:not(:first)").remove();
      

  2.   

    <body>
    <span id="ss"><img src="img/111.jpg" width="300" height="200" border="0" alt=""/><img src="img/11.jpg" width="300" height="200" border="0" alt=""/><br/><img src="img/22.jpg" width="300" height="200" border="0" alt=""/><br/><img src="img/11.jpg" width="300" height="200" border="0" alt=""/><br/><img src="img/22.jpg" width="300" height="200" border="0" alt=""/></span>
    <input type="button" value="Click" onclick="del()"/>
    <script type="text/javascript">
    <!--
    function del(){
    var a = $("span > img");
    alert(a.length);
    for (var i=1;i<a.length ;i++)
    {
    a[i].removeNode(true);
    }
    }
    //-->
    </script>
    </body>
      

  3.   

    这样也可以$("span > img:not(:first)").remove();
      

  4.   


    朋友,你这样的话,是一个一个的删除
    我想要的效果是 : 如果span里面的img多于一个就把那些多的一次性删除,不是一个一个删,只保留一个,你的方法可以改进一下不?
      

  5.   


    这种方法我试过了,也是一个一个地去删除
    有没有方法一次性地去删除
    例如span里面有4个img
    我想把多出的3个一次性删除,只保留一个
      

  6.   

    不知道楼主为什么有这个需求,楼上几种方法都可行,视觉效果上好像没有什么区别程序执行一般都是一个一个执行的,如果你一定要同时删除3个img,那只有多线程作了,考虑用setTimeout做。$("div").children().length 可以用来判断childnodes