簡體   English   中英

如何獲得克隆元素的externalHTML?

[英]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

我應該在這里做什么?

  • 以某種方式將NodeElement因為我知道它絕對是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM