You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
643 B
35 lines
643 B
9 months ago
|
|
||
|
// Node.prototype.contains
|
||
|
(function() {
|
||
|
|
||
|
function contains(node) {
|
||
|
if (!(0 in arguments)) {
|
||
|
throw new TypeError('1 argument is required');
|
||
|
}
|
||
|
|
||
|
do {
|
||
|
if (this === node) {
|
||
|
return true;
|
||
|
}
|
||
|
// eslint-disable-next-line no-cond-assign
|
||
|
} while (node = node && node.parentNode);
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
// IE
|
||
|
if ('HTMLElement' in self && 'contains' in HTMLElement.prototype) {
|
||
|
try {
|
||
|
delete HTMLElement.prototype.contains;
|
||
|
// eslint-disable-next-line no-empty
|
||
|
} catch (e) {}
|
||
|
}
|
||
|
|
||
|
if ('Node' in self) {
|
||
|
Node.prototype.contains = contains;
|
||
|
} else {
|
||
|
document.contains = Element.prototype.contains = contains;
|
||
|
}
|
||
|
|
||
|
}());
|