30 lines
		
	
	
	
		
			531 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			30 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;
 | |
| 	}
 | |
| 
 | |
| }());
 |