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; | ||
|  | 	} | ||
|  | 
 | ||
|  | }()); |