aboutsummaryrefslogtreecommitdiffstats
path: root/src/selector/contains.js
blob: a62b97ab5bb4953dd4c08bd1b2f3a07ecf84c16c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import jQuery from "../core.js";

// Note: an element does not contain itself
jQuery.contains = function( a, b ) {
	var adown = a.nodeType === 9 ? a.documentElement : a,
		bup = b && b.parentNode;

	return a === bup || !!( bup && bup.nodeType === 1 && (

		// Support: IE 9 - 11+
		// IE doesn't have `contains` on SVG.
		adown.contains ?
			adown.contains( bup ) :
			a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
	) );
};