小编Vix*_*Vix的帖子

如何克隆ShadowRoot?

我正在尝试克隆一个影子根,以便可以将<content></content>它们的实例与它们相应的分布式节点交换。

我的方法:

var shadowHost = document.createElement('div');
var shadowRoot = shadowHost.createShadowRoot();

var clonedShadowRoot = shadowRoot.cloneNode(true);
Run Code Online (Sandbox Code Playgroud)

不起作用,因为“ ShadowRoot节点不可克隆”。

这样做的动机是希望检索组成的阴影树,以便可以使用呈现的HTML标记。

由于Shadow DOM的性质,这可能不起作用,对克隆节点的引用很可能会破坏对分布式节点的引用。

组成影子树可能是本机功能,但是在搜索了w3c规范后,我找不到这种方法。

有这样的本机方法吗?否则,手动遍历(在过程中复制树)会起作用吗?

html javascript html5 dom shadow-dom

17
推荐指数
2
解决办法
792
查看次数

引用Object.prototype.toString.call导致'TypeError:undefined不是函数'

我遇到了一个不寻常的情况.我存储一个引用Object.prototype.toString.call,试图创建一个快捷方式,调用它作为指定的变量导致TypeError,而每次直接调用它不会.

谁能解释实际发生的事情,而不是我相信我在做什么?

var toString = Object.prototype.toString.call;
toString({}); //Uncaught TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)

以下工作:

var toString = Object.prototype.toString;
toString.call({});
Run Code Online (Sandbox Code Playgroud)

非常感谢.

javascript prototype reference this typeerror

0
推荐指数
1
解决办法
460
查看次数

标签 统计

javascript ×2

dom ×1

html ×1

html5 ×1

prototype ×1

reference ×1

shadow-dom ×1

this ×1

typeerror ×1