diff --git a/js/src/util.js b/js/src/util.js index 653598ae2b..653b14a17f 100644 --- a/js/src/util.js +++ b/js/src/util.js @@ -79,14 +79,11 @@ const Util = (($) => { let selector = element.getAttribute('data-target') if (!selector || selector === '#') { - selector = (element.getAttribute('href') || '').trim() + const hrefAttr = element.getAttribute('href') + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '' } - try { - return document.querySelector(selector) ? selector : null - } catch (err) { - return null - } + return selector && document.querySelector(selector) ? selector : null }, getTransitionDurationFromElement(element) { diff --git a/js/tests/unit/dropdown.js b/js/tests/unit/dropdown.js index 81d35ff3a7..40489c5f2c 100644 --- a/js/tests/unit/dropdown.js +++ b/js/tests/unit/dropdown.js @@ -216,30 +216,6 @@ $(function () { $dropdown.trigger('click') }) - QUnit.test('should test if element has a # before assuming it\'s a selector', function (assert) { - assert.expect(1) - var done = assert.async() - var dropdownHTML = '
' + - '' - var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown() - $dropdown - .parent('.dropdown') - .on('shown.bs.dropdown', function () { - assert.ok($dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click') - done() - }) - $dropdown.trigger('click') - }) - QUnit.test('should remove "show" class if body is clicked', function (assert) { assert.expect(2) var done = assert.async() diff --git a/js/tests/unit/modal.js b/js/tests/unit/modal.js index 53a2e04167..914366ae22 100644 --- a/js/tests/unit/modal.js +++ b/js/tests/unit/modal.js @@ -607,36 +607,40 @@ $(function () { assert.expect(1) var done = assert.async() - var $toggleBtn = $('