clone-element
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

clone-element

Clone HTML elements with styles.

Installation

npm i -save clone-element

Usage

import { cloneElement } from 'clone-element'

document.body.appendChild(cloneElement(document.querySelector('h1'))

Features and limitations

  • Clone with styles.

    ⭕️ Default style for native inputs may work unexpectedly, as they ususally rely on browsers' private CSS extensions thus computed styles become not useful under certain conditions.

  • Support styles for psuedo elements (listed below).

    • ::after

    • ::before

    • ::first-letter

    • ::first-line

    • ::marker

    • ::placeholder

      ⭕️ Only works for Firefox. Chrome/Safari do not report correct computed style for ::placeholder.

    • ::selection

  • Copy content from an existing <canvas> element.

  • Include fixes for grouped <input type="radio">s.

  • Copy input values to cloned element.

    ⭕️ <input type="file"> is not supported.

  • Try to synchronize state between <video> elements.

    ⭕️ May not work for cross domain videos without crossorigin and CORS settings.

  • Fix “contextual” HTML attributes like lang/dir/disabled.

Readme

Keywords

Package Sidebar

Install

npm i clone-element

Weekly Downloads

24

Version

0.1.0

License

MIT

Unpacked Size

161 kB

Total Files

25

Last publish

Collaborators

  • ecomfe-core