我有一个带有(除其他外)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
是新文档中的相应元素,但效果不佳。
答案 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');