Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换整个元素而不是innerHTML?_Javascript_Mootools - Fatal编程技术网

Javascript 替换整个元素而不是innerHTML?

Javascript 替换整个元素而不是innerHTML?,javascript,mootools,Javascript,Mootools,我可以这样做: $('my-panel').innerHTML = '<p> New content </p>'; $('my-panel')。innerHTML='新内容'; 但是如果有什么方法可以做这样的事情 $('my-panel').wholeHTML = "<div id='my-panel'><p> New Content</p></div>"; $('my-panel')。wholeHTML=“新内容””

我可以这样做:

$('my-panel').innerHTML = '<p> New content </p>';
$('my-panel')。innerHTML='新内容

';
但是如果有什么方法可以做这样的事情

$('my-panel').wholeHTML = "<div id='my-panel'><p> New Content</p></div>";
$('my-panel')。wholeHTML=“新内容”

”;

我找不到任何办法。如果我不能这样做,我将不得不重构一大堆东西,这将非常耗时。

那么
outerHTML
呢,其中包括“整”标记:

$('my-panel').outerHTML = '<p> New content </p>';
$('my-panel')。outerHTML='新内容

';

您始终可以获取标记parentNode并替换其innerHTML

         $('my-panel').parentNode.innerHTML = '<p> New Content</p>'
$('my-panel').parentNode.innerHTML='新内容

'
您使用mootools,对吗?您可以轻松更换该元件,即:

Elements.from("<div id='my-panel'><p> New Content</p></div>").replaces($("my-panel"));
Elements.from(“新内容”

”)。替换($(“我的面板”);
嗯,这很管用。我真的应该试一下,谢谢。这东西有API清单吗?我刚才看到的页面没有提到outerHTML。@奥利弗:我在MDN(怪异)上找不到,但MSDN有一个很好的参考:。哎哟,显然只是随便看看。outerHTML是非标准的,在某些浏览器上不起作用。@奥利弗:我不知道,但我可以确认它在最新版本的Chrome/Safari/Opera/IE上有效。只有Firefox拒绝做一些事情。不过似乎有一些解决办法,例如,如果父元素有更多的子元素,它们就会被破坏,那就很好了。这就是我来更改它之前代码所做的。最初的作者为了解决这个问题而引入了一个额外的div,但我讨厌做那样的事情。哦,这很方便。我以后会这么做的。