diff options
| author | Johann-S <[email protected]> | 2018-04-30 16:37:45 +0200 |
|---|---|---|
| committer | Johann-S <[email protected]> | 2018-06-01 10:30:11 +0200 |
| commit | b1eb3fccfa722afc4f7ca0d00eb848353ce8aed8 (patch) | |
| tree | 638af933a31acaabdedacf9a99a66e94662e6ae5 /js/src/collapse.js | |
| parent | 62cc0fda50781606da5989b5a6eba6770bc34a51 (diff) | |
| download | bootstrap-b1eb3fccfa722afc4f7ca0d00eb848353ce8aed8.tar.xz bootstrap-b1eb3fccfa722afc4f7ca0d00eb848353ce8aed8.zip | |
refactor(plugins): improve how we query elements
Diffstat (limited to 'js/src/collapse.js')
| -rw-r--r-- | js/src/collapse.js | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/js/src/collapse.js b/js/src/collapse.js index 2c48cf545..e788abbe7 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -72,11 +72,14 @@ const Collapse = (($) => { `[data-toggle="collapse"][href="#${element.id}"],` + `[data-toggle="collapse"][data-target="#${element.id}"]` )) - const tabToggles = $(Selector.DATA_TOGGLE) - for (let i = 0; i < tabToggles.length; i++) { - const elem = tabToggles[i] + const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)) + for (let i = 0, len = toggleList.length; i < len; i++) { + const elem = toggleList[i] const selector = Util.getSelectorFromElement(elem) - if (selector !== null && $(selector).filter(element).length > 0) { + const filterElement = [].slice.call(document.querySelectorAll(selector)) + .filter((foundElem) => foundElem === element) + + if (selector !== null && filterElement.length > 0) { this._selector = selector this._triggerArray.push(elem) } @@ -123,11 +126,9 @@ const Collapse = (($) => { let activesData if (this._parent) { - actives = $.makeArray( - $(this._parent) - .find(Selector.ACTIVES) - .filter(`[data-parent="${this._config.parent}"]`) - ) + actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)) + .filter((elem) => elem.getAttribute('data-parent') === this._config.parent) + if (actives.length === 0) { actives = null } @@ -216,12 +217,13 @@ const Collapse = (($) => { .removeClass(ClassName.COLLAPSE) .removeClass(ClassName.SHOW) - if (this._triggerArray.length > 0) { - for (let i = 0; i < this._triggerArray.length; i++) { + const triggerArrayLength = this._triggerArray.length + if (triggerArrayLength > 0) { + for (let i = 0; i < triggerArrayLength; i++) { const trigger = this._triggerArray[i] const selector = Util.getSelectorFromElement(trigger) if (selector !== null) { - const $elem = $(selector) + const $elem = $([].slice.call(document.querySelectorAll(selector))) if (!$elem.hasClass(ClassName.SHOW)) { $(trigger).addClass(ClassName.COLLAPSED) .attr('aria-expanded', false) |
