diff --git a/core/misc/ajax.js b/core/misc/ajax.js
index e2aeab1..1dcd52b 100644
--- a/core/misc/ajax.js
+++ b/core/misc/ajax.js
@@ -209,7 +209,7 @@
         //   elements that submit to the same URL as the form when there's a file
         //   input. For example, this means the Delete button on the edit form of
         //   an Article node doesn't open its confirmation form in a dialog.
-        if (this.$form.find(':file').length) {
+        if (this.$form.find('input[type="file"]').length) {
           return;
         }
       }
diff --git a/core/misc/vertical-tabs.js b/core/misc/vertical-tabs.js
index 1b51850..430cc28 100644
--- a/core/misc/vertical-tabs.js
+++ b/core/misc/vertical-tabs.js
@@ -102,7 +102,7 @@
       if (event.keyCode === 13) {
         self.focus();
         // Set focus on the first input field of the visible details/tab pane.
-        $(".vertical-tabs__pane :input:visible:enabled").eq(0).trigger('focus');
+        $('.vertical-tabs__pane').find('input, button, textarea, select').filter(':visible:enabled').eq(0).trigger('focus');
       }
     });
 
diff --git a/core/modules/content_translation/content_translation.admin.js b/core/modules/content_translation/content_translation.admin.js
index 857cbd7..85a8f29 100644
--- a/core/modules/content_translation/content_translation.admin.js
+++ b/core/modules/content_translation/content_translation.admin.js
@@ -71,14 +71,14 @@
     attach: function (context) {
       // Initially hide all field rows for non translatable bundles and all column
       // rows for non translatable fields.
-      $(context).find('table .bundle-settings .translatable :input').once('translation-entity-admin-hide').each(function () {
+      $(context).find('table .bundle-settings .translatable').find('input, button, textarea, select').once('translation-entity-admin-hide').each(function () {
         var $input = $(this);
         var $bundleSettings = $input.closest('.bundle-settings');
         if (!$input.is(':checked')) {
           $bundleSettings.nextUntil('.bundle-settings').hide();
         }
         else {
-          $bundleSettings.nextUntil('.bundle-settings', '.field-settings').find('.translatable :input:not(:checked)').closest('.field-settings').nextUntil(':not(.column-settings)').hide();
+          $bundleSettings.nextUntil('.bundle-settings', '.field-settings').find('.translatable').find('input, button, textarea, select').not(':checked').closest('.field-settings').nextUntil(':not(.column-settings)').hide();
         }
       });
 
diff --git a/core/modules/quickedit/js/editors/formEditor.js b/core/modules/quickedit/js/editors/formEditor.js
index 8dc3fb5..45e80f3 100644
--- a/core/modules/quickedit/js/editors/formEditor.js
+++ b/core/modules/quickedit/js/editors/formEditor.js
@@ -111,7 +111,7 @@
         });
 
         $formContainer
-          .on('formUpdated.quickedit', ':input', function (event) {
+          .on('formUpdated.quickedit', 'input, button, textarea, select', function (event) {
             var state = fieldModel.get('state');
             // If the form is in an invalid state, it will persist on the page.
             // Set the field to activating so that the user can correct the
@@ -148,7 +148,7 @@
       // Allow form widgets to detach properly.
       Drupal.detachBehaviors(this.$formContainer.get(0), null, 'unload');
       this.$formContainer
-        .off('change.quickedit', ':input')
+        .off('change.quickedit', 'input, button, textarea, select')
         .off('keypress.quickedit', 'input')
         .remove();
       this.$formContainer = null;
diff --git a/core/modules/views_ui/js/views-admin.js b/core/modules/views_ui/js/views-admin.js
index d0534cf..cd381da 100644
--- a/core/modules/views_ui/js/views-admin.js
+++ b/core/modules/views_ui/js/views-admin.js
@@ -182,7 +182,7 @@
 
   Drupal.viewsUi.AddItemForm = function ($form) {
     this.$form = $form;
-    this.$form.find('.views-filterable-options :checkbox').on('click', $.proxy(this.handleCheck, this));
+    this.$form.find('.views-filterable-options input[type="checkbox"]').on('click', $.proxy(this.handleCheck, this));
     // Find the wrapper of the displayed text.
     this.$selected_div = this.$form.find('.views-selected-options').parent();
     this.$selected_div.hide();
@@ -864,7 +864,7 @@
   Drupal.viewsUi.Checkboxifier = function (button) {
     this.$button = $(button);
     this.$parent = this.$button.parent('div.views-expose, div.views-grouped');
-    this.$input = this.$parent.find('input:checkbox, input:radio');
+    this.$input = this.$parent.find('input[type="checkbox"], input[type="radio"]');
     // Hide the button and its description.
     this.$button.hide();
     this.$parent.find('.exposed-description, .grouped-description').hide();
