31 lines
531 B
JavaScript
31 lines
531 B
JavaScript
|
(function() {
|
||
|
|
||
|
function contains(node) {
|
||
|
if (!(0 in arguments)) {
|
||
|
throw new TypeError('1 argument is required');
|
||
|
}
|
||
|
|
||
|
do {
|
||
|
if (this === node) {
|
||
|
return true;
|
||
|
}
|
||
|
} while (node = node && node.parentNode);
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
// IE
|
||
|
if ('HTMLElement' in this && 'contains' in HTMLElement.prototype) {
|
||
|
try {
|
||
|
delete HTMLElement.prototype.contains;
|
||
|
} catch (e) {}
|
||
|
}
|
||
|
|
||
|
if ('Node' in this) {
|
||
|
Node.prototype.contains = contains;
|
||
|
} else {
|
||
|
document.contains = Element.prototype.contains = contains;
|
||
|
}
|
||
|
|
||
|
}());
|