aboutsummaryrefslogtreecommitdiff
path: root/js/src
diff options
context:
space:
mode:
authorJohann-S <[email protected]>2020-06-27 00:28:32 +0200
committerJohann-S <[email protected]>2020-06-27 15:58:00 +0200
commit686b88c505540a8ce0a260c18bd327865cad81c4 (patch)
tree8763220a29a962bc992d06f60ef590a63221bb51 /js/src
parent2c38800ea224327a063a8fd5c11df8d2ee2ca5a6 (diff)
downloadbootstrap-feat/data-target.tar.xz
bootstrap-feat/data-target.zip
use only data target to query elements in our pluginfeat/data-target
Diffstat (limited to 'js/src')
-rw-r--r--js/src/collapse.js1
-rw-r--r--js/src/scrollspy.js14
-rw-r--r--js/src/util/index.js8
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