@gvray/eskit
Version:
A rich and colorful toolkit about typescript and javascript.
60 lines • 2.06 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Checks if a value is a DOM Element or HTMLDocument object.
* 检查值是否为DOM元素或HTMLDocument对象。
*
* @param o - The value to check / 要检查的值
* @returns True if the value is an Element or HTMLDocument / 如果值是元素或HTMLDocument则返回true
*
* @example
* ```typescript
* // DOM elements
* isElement(document.body) // true
* isElement(document.documentElement) // true (html element)
* isElement(document.querySelector('div')) // true (if div exists)
* isElement(document.getElementById('myId')) // true (if element exists)
*
* // Created elements
* const div = document.createElement('div')
* const span = document.createElement('span')
* isElement(div) // true
* isElement(span) // true
*
* // HTML Document
* isElement(document) // true (HTMLDocument)
*
* // Various element types
* isElement(document.querySelector('input')) // true
* isElement(document.querySelector('canvas')) // true
* isElement(document.querySelector('svg')) // true
*
* // Non-elements
* isElement(window) // false (Window object)
* isElement(document.querySelector('nonexistent')) // false (null)
* isElement('div') // false (string)
* isElement({ nodeType: 1 }) // false (plain object)
* isElement(null) // false
* isElement(undefined) // false
*
* // Text nodes and other node types
* const textNode = document.createTextNode('hello')
* const comment = document.createComment('comment')
* isElement(textNode) // false (Text node, not Element)
* isElement(comment) // false (Comment node, not Element)
*
* // Practical usage
* function appendToElement(parent: unknown, child: HTMLElement) {
* if (isElement(parent)) {
* parent.appendChild(child)
* } else {
* throw new Error('Parent must be a DOM element')
* }
* }
* ```
*
* @since 1.0.0
*/
var isElement = function (o) { return o instanceof Element || o instanceof HTMLDocument; };
exports.default = isElement;
//# sourceMappingURL=isElement.js.map