| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /*!
- * jQuery UI Labels 1.14.1
- * https://jqueryui.com
- *
- * Copyright OpenJS Foundation and other contributors
- * Released under the MIT license.
- * https://jquery.org/license
- */
- //>>label: labels
- //>>group: Core
- //>>description: Find all the labels associated with a given input
- //>>docs: https://api.jqueryui.com/labels/
- ( function( factory ) {
- "use strict";
- if ( typeof define === "function" && define.amd ) {
- // AMD. Register as an anonymous module.
- define( [ "jquery", "./version" ], factory );
- } else {
- // Browser globals
- factory( jQuery );
- }
- } )( function( $ ) {
- "use strict";
- return $.fn.labels = function() {
- var ancestor, selector, id, labels, ancestors;
- if ( !this.length ) {
- return this.pushStack( [] );
- }
- // Check control.labels first
- if ( this[ 0 ].labels && this[ 0 ].labels.length ) {
- return this.pushStack( this[ 0 ].labels );
- }
- // If `control.labels` is empty - e.g. inside of document fragments - find
- // the labels manually
- labels = this.eq( 0 ).parents( "label" );
- // Look for the label based on the id
- id = this.attr( "id" );
- if ( id ) {
- // We don't search against the document in case the element
- // is disconnected from the DOM
- ancestor = this.eq( 0 ).parents().last();
- // Get a full set of top level ancestors
- ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() );
- // Create a selector for the label based on the id
- selector = "label[for='" + CSS.escape( id ) + "']";
- labels = labels.add( ancestors.find( selector ).addBack( selector ) );
- }
- // Return whatever we have found for labels
- return this.pushStack( labels );
- };
- } );
|