diff options
Diffstat (limited to 'js/src')
| -rw-r--r-- | js/src/collapse.js | 1 | ||||
| -rw-r--r-- | js/src/scrollspy.js | 14 | ||||
| -rw-r--r-- | js/src/util/index.js | 8 |
3 files changed, 16 insertions, 7 deletions
diff --git a/js/src/collapse.js b/js/src/collapse.js index 693e7ee2c..3b8c15212 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -72,7 +72,6 @@ class Collapse { this._element = element this._config = this._getConfig(config) this._triggerArray = SelectorEngine.find( - `${SELECTOR_DATA_TOGGLE}[href="#${element.id}"],` + `${SELECTOR_DATA_TOGGLE}[data-target="#${element.id}"]` ) diff --git a/js/src/scrollspy.js b/js/src/scrollspy.js index 90e03b000..ff80de767 100644 --- a/js/src/scrollspy.js +++ b/js/src/scrollspy.js @@ -121,7 +121,7 @@ class ScrollSpy { targets .map(element => { let target - const targetSelector = getSelectorFromElement(element) + const targetSelector = this._getSelectorFromElement(element) if (targetSelector) { target = SelectorEngine.findOne(targetSelector) @@ -163,6 +163,18 @@ class ScrollSpy { // Private + _getSelectorFromElement(element) { + let selector = getSelectorFromElement(element) + + if (!selector) { + const hrefAttr = element.getAttribute('href') + + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null + } + + return selector + } + _getConfig(config) { config = { ...Default, diff --git a/js/src/util/index.js b/js/src/util/index.js index d9a975554..e508908c4 100644 --- a/js/src/util/index.js +++ b/js/src/util/index.js @@ -33,12 +33,10 @@ const getUID = prefix => { } const getSelector = element => { - let selector = element.getAttribute('data-target') + const selector = element.getAttribute('data-target') - if (!selector || selector === '#') { - const hrefAttr = element.getAttribute('href') - - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null + if (!selector) { + return null } return selector |
