[英]How do I get the outerHTML of a cloned element?
I'm trying to avoid jQuery, simply needing to clone an element, eg 我试图避免jQuery,只需要克隆一个元素, 例如
var table: Node = document.querySelector('#myTable').cloneNode(false);
Later, I need to 以后,我需要
return table.outerHTML;
but I'm getting the error 但我得到了错误
ERROR in [at-loader] ./src/components/overworld-component.tsx:24:43
TS2339: Property 'outerHTML' does not exist on type 'Node'.
Which, makes sense. 这是有道理的。 Only Element
s have outerHTML
. 只有Element
具有outerHTML
。
What am I supposed to do here? 我应该在这里做什么?
Node
to Element
since I know it's definitely an Element
? 以某种方式将Node
为Element
因为我知道它绝对是Element
? Or, am I doing something wrong further upstream? 还是我在上游做错了什么? Maybe I don't need to use outerHTML
at all? 也许我根本不需要使用outerHTML
? I thought I needed the outerHTML
in React for dangerouslySetInnerHTML
ing: 我想我需要的outerHTML
在反应dangerouslySetInnerHTML
荷兰国际集团:
export class OverworldComponent extends React.Component<OverworldComponentProps, {}> { render() { var table: Node = document.querySelector('div.file div.data table').cloneNode(false); return <div id="overworld-viewer" dangerouslySetInnerHTML= { { __html: table.outerHTML } } />; } }
Don't specify the datatype, Just use 'any' 不指定数据类型,只需使用“ any”
var table: any = document.querySelector('#myTable').cloneNode(false);
Or 要么
var table: HTMLElement = <any>document.querySelector('#myTable').cloneNode(false);
What about saving the outerHTML directly ? 如何直接保存externalHTML呢?
export class OverworldComponent extends React.Component<OverworldComponentProps, {}> {
render() {
var outerHTML: string = document.querySelector('div.file div.data table').outerHTML;
return <div id="overworld-viewer"
dangerouslySetInnerHTML=
{ { __html: outerHTML } } />;
}
}
or you can cast cloneNode
: 或者您可以cloneNode
:
var table: Element = document.querySelector('div.file div.data table').cloneNode(false) as Element;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.