$(this).next() ???
浮动的层离开了文档流,不存在下一个元素

解决方案 »

  1.   

    你看一下,$(".inputWithImge")有多小elem.
      

  2.   

    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <title></title>
    <style>
    </style>
    <script src="js/jquery.js"></script>
    </head>
    <body>
    <p onclick = "add()">Click here add new div.</p>
    <script>
    var foo = function(dom) {
        $(dom).click(function(){$(this).css("background","red")});
    };
    function add(){
    var doc = document.documentElement || document.body,
        newDiv = document.createElement("div"),
    newText = document.createTextNode("New Text");
    newDiv.appendChild(newText);
    doc.appendChild(newDiv);
    var callbacks = $.Callbacks();
    callbacks.add(foo);
    callbacks.fire(newDiv);
    }
    </script>
     
    </body>
    </html>你试试这样的写法,在每一个新添加的时候,就给他绑定上这个事件,我这里是添加了一个点击事件,你可以把你的那个需要执行的动作,改成这样的。至于那个浮动的求next的情况,没有想过这个问题。没有办法说。使用的callbacks.add()的方法,请参考:http://api.jquery.com/callbacks.add/试试改成你那边的样式,看可以用不。
      

  3.   

    刚才是在看那个jquery的API,就试着用了一下。不过那样的话,就复杂了,没有 必要。$(div + " .inputWithImge").add($(div + " .inputWithImge").next()).wrapAll('<SPAN class="imageInputWrapper"></SPAN>');在你的动态添加模块的最后,这样添加一段js应该就可以了。或者这样写应该好一点:
    var divdom = $(div + " .inputWithImge");
    divdom.add(divdom.next()).wrapAll('<SPAN class="imageInputWrapper"></SPAN>');你都试试吧。
      

  4.   

    您是说,在添加的动态模块的最后加上,是这样加的吗?

        div.innerHTML = strHtml; //浮动层显示页面
    document.body.appendChild(div);
    var winDiv = document.getElementById("layer1");
    winDiv.style.left = (document.body.offsetWidth-680)/2;
        winDiv.style.top = 180; //调整弹出框离IE最上边的距离空隙
    winDiv.style.display = "block";//添加的地方????
    var divdom = $(div + " .inputWithImge");
    divdom.add(divdom.next()).wrapAll('<SPAN class="imageInputWrapper"></SPAN>');} 我这样添加试了一下,不行哦