[英]How do I get the outerHTML of a cloned element?
我試圖避免jQuery,只需要克隆一個元素, 例如
var table: Node = document.querySelector('#myTable').cloneNode(false);
以后,我需要
return table.outerHTML;
但我得到了錯誤
ERROR in [at-loader] ./src/components/overworld-component.tsx:24:43
TS2339: Property 'outerHTML' does not exist on type 'Node'.
這是有道理的。 只有Element
具有outerHTML
。
我應該在這里做什么?
Node
為Element
因為我知道它絕對是Element
? 還是我在上游做錯了什么? 也許我根本不需要使用outerHTML
? 我想我需要的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 } } />; } }
不指定數據類型,只需使用“ any”
var table: any = document.querySelector('#myTable').cloneNode(false);
要么
var table: HTMLElement = <any>document.querySelector('#myTable').cloneNode(false);
如何直接保存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 } } />;
}
}
或者您可以cloneNode
:
var table: Element = document.querySelector('div.file div.data table').cloneNode(false) as Element;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.