用另一个文档替换html元素的环绕声

时间:2010-04-23 22:39:35

标签: javascript html jquery

我有一个带有(除其他外)Unity3D窗口的html页面。我想替换页面上的所有内容,而不会导致Unity窗口重新加载。我尝试过以下jquery-tastic

   function replaceSurround(keepElem, newElem)
    {
        keepElem.siblings().remove();
        keepElem.prepend(newElem.prevAll());
        keepElem.append(newElem.nextAll());

        var keepParent = keepElem.parent();
        var newParent = newElem.parent();
        if (keepParent && newParent)
        {
            replaceSurround(keepParent, newParent);
        }
    }

其中keepElem是原始文档中的元素,而newElem是新文档中的相应元素,但效果不佳。

1 个答案:

答案 0 :(得分:0)

这是我所拥有的,它似乎有用......

jQuery.fn.rewrap = function(newWrap){
    var $parent = jQuery(this).parent();
    var $clone = jQuery(this).siblings().clone()
    var $newParent = $clone.wrap(newWrap).parent().clone();
    $parent.replaceWith($newParent);
}


$('#header').rewrap('<div class="container" style="background-color:blue;" />');

我在Stackoverflow网站上测试过它。但是,一个小问题似乎是重新启动一些onX事件......?

[编辑]

第二个想法,那不是你的意思......

你不能只做这样的事情:

$('#result').load('ajax/test.html #result');