All Projects → Justineo → clone-element

Justineo / clone-element

Licence: MIT license
Clone HTML elements with styles.

Programming Languages

typescript
32286 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].