]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Fix collapse multiple ids target (#38989)
authorLouis-Maxime Piton <louismaxime.piton@orange.com>
Wed, 13 Sep 2023 07:30:32 +0000 (09:30 +0200)
committerGitHub <noreply@github.com>
Wed, 13 Sep 2023 07:30:32 +0000 (09:30 +0200)
js/src/dom/selector-engine.js
js/tests/unit/dom/selector-engine.spec.js

index 3cecf6f40cfb9cff02c872852f4a1b7b5f30005b..a47f72001bd53e8ea071af858cc3e46790b752c9 100644 (file)
@@ -26,10 +26,10 @@ const getSelector = element => {
       hrefAttribute = `#${hrefAttribute.split('#')[1]}`
     }
 
-    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null
+    selector = hrefAttribute && hrefAttribute !== '#' ? parseSelector(hrefAttribute.trim()) : null
   }
 
-  return parseSelector(selector)
+  return selector
 }
 
 const SelectorEngine = {
index 8dd7b1f893fdcd92b55bd9351c5f65644d96bcc9..72c0bf6db86fbc93cc4e5d39b279e3ac1fcedd0f 100644 (file)
@@ -359,6 +359,18 @@ describe('SelectorEngine', () => {
       expect(SelectorEngine.getMultipleElementsFromSelector(testEl)).toEqual(Array.from(fixtureEl.querySelectorAll('.target')))
     })
 
+    it('should get elements if several ids are given', () => {
+      fixtureEl.innerHTML = [
+        '<div id="test" data-bs-target="#target1,#target2"></div>',
+        '<div class="target" id="target1"></div>',
+        '<div class="target" id="target2"></div>'
+      ].join('')
+
+      const testEl = fixtureEl.querySelector('#test')
+
+      expect(SelectorEngine.getMultipleElementsFromSelector(testEl)).toEqual(Array.from(fixtureEl.querySelectorAll('.target')))
+    })
+
     it('should get elements in array, from href if no data-bs-target set', () => {
       fixtureEl.innerHTML = [
         '<a id="test" href=".target"></a>',