diff --git a/core/modules/node/content_types.js b/core/modules/node/content_types.js
index c77a2c3..642a182 100644
--- a/core/modules/node/content_types.js
+++ b/core/modules/node/content_types.js
@@ -3,52 +3,54 @@
  * Javascript for the node content editing form.
  */
 
-(function ($) {
+(function ($, Drupal, drupalSettings) {
 
   "use strict";
 
   Drupal.behaviors.contentTypes = {
-    attach: function (context) {
+    attach: function (context, settings) {
       var $context = $(context);
       // Provide the vertical tab summaries.
-      $context.find('#edit-submission').drupalSetSummary(function (context) {
-        var vals = [];
-        vals.push(Drupal.checkPlain($(context).find('#edit-title-label').val()) || Drupal.t('Requires a title'));
-        return vals.join(', ');
-      });
-      $context.find('#edit-workflow').drupalSetSummary(function (context) {
-        var vals = [];
-        $(context).find("input[name^='options']:checked").parent().each(function () {
-          vals.push(Drupal.checkPlain($(this).text()));
+      $context.once('contentTypes', function () {
+        $('#edit-submission', context).drupalSetSummary(function (context) {
+          var vals = [];
+          vals.push(Drupal.checkPlain($(context).find('#edit-title-label').val()) || Drupal.t('Requires a title'));
+          return vals.join(', ');
         });
-        if (!$(context).find('#edit-options-status').is(':checked')) {
-          vals.unshift(Drupal.t('Not published'));
-        }
-        return vals.join(', ');
-      });
-      $('#edit-language', context).drupalSetSummary(function (context) {
-        var vals = [];
+        $('#edit-workflow', context).drupalSetSummary(function (context) {
+          var vals = [];
+          $(context).find("input[name^='options']").filter(':checked').parent().each(function () {
+            vals.push(Drupal.checkPlain($(this).text()));
+          });
+          if (!$(context).find('#edit-settings-node-options-status').prop('checked')) {
+            vals.unshift(Drupal.t('Not published'));
+          }
+          return vals.join(', ');
+        });
+        $('#edit-language', context).drupalSetSummary(function (context) {
+          var vals = [];
 
-        vals.push($(".form-item-language-configuration-langcode select option:selected", context).text());
+          vals.push($(".form-item-language-configuration-langcode select option", context).filter(':selected').text());
 
-        $('input:checked', context).next('label').each(function () {
-          vals.push(Drupal.checkPlain($(this).text()));
-        });
+          $('input', context).filter(':checked').next('label').each(function () {
+            vals.push(Drupal.checkPlain($(this).text()));
+          });
 
-        return vals.join(', ');
-      });
-      $context.find('#edit-display').drupalSetSummary(function (context) {
-        var vals = [];
-        var $editContext = $(context);
-        $editContext.find('input:checked').next('label').each(function () {
-          vals.push(Drupal.checkPlain($(this).text()));
+          return vals.join(', ');
+        });
+        $('#edit-display', context).drupalSetSummary(function (context) {
+          var vals = [];
+          var $context = $(context);
+          $context.find('input').filter(':checked').next('label').each(function () {
+            vals.push(Drupal.checkPlain($(this).text()));
+          });
+          if (!$context.find('#edit-settings-node-submitted').prop('checked')) {
+            vals.unshift(Drupal.t("Don't display post information"));
+          }
+          return vals.join(', ');
         });
-        if (!$editContext.find('#edit-display-submitted').is(':checked')) {
-          vals.unshift(Drupal.t("Don't display post information"));
-        }
-        return vals.join(', ');
       });
     }
   };
 
-})(jQuery);
+})(jQuery, Drupal, drupalSettings);
diff --git a/core/modules/node/node.js b/core/modules/node/node.js
index 60db08f..b1d1ac3 100644
--- a/core/modules/node/node.js
+++ b/core/modules/node/node.js
@@ -8,61 +8,63 @@
   "use strict";
 
   Drupal.behaviors.nodeDetailsSummaries = {
-    attach: function (context) {
+    attach: function (context, settings) {
       var $context = $(context);
-      $context.find('.node-form-revision-information').drupalSetSummary(function (context) {
-        var $revisionContext = $(context);
-        var revisionCheckbox = $revisionContext.find('.form-item-revision input');
+      $context.once('nodeDetailsSummaries', function () {
+        $context.find('.node-form-revision-information').drupalSetSummary(function (context) {
+          var $revisionContext = $(context),
+              $revisionCheckbox = $revisionContext.find('.form-item-revision input');
 
-        // Return 'New revision' if the 'Create new revision' checkbox is checked,
-        // or if the checkbox doesn't exist, but the revision log does. For users
-        // without the "Administer content" permission the checkbox won't appear,
-        // but the revision log will if the content type is set to auto-revision.
-        if (revisionCheckbox.is(':checked') || (!revisionCheckbox.length && $revisionContext.find('.form-item-revision-log textarea').length)) {
-          return Drupal.t('New revision');
-        }
+          // Return 'New revision' if the 'Create new revision' checkbox is checked,
+          // or if the checkbox doesn't exist, but the revision log does. For users
+          // without the "Administer content" permission the checkbox won't appear,
+          // but the revision log will if the content type is set to auto-revision.
+          if ($revisionCheckbox.prop('checked') || (!$revisionCheckbox.length && $revisionContext.find('.form-item-revision-log textarea').length)) {
+            return Drupal.t('New revision');
+          }
 
-        return Drupal.t('No revision');
-      });
+          return Drupal.t('No revision');
+        });
 
-      $context.find('.node-form-author').drupalSetSummary(function (context) {
-        var $authorContext = $(context);
-        var name = $authorContext.find('.field-name-uid input').val(),
-          date = $authorContext.find('.field-name-created input').val();
-        return date ?
-          Drupal.t('By @name on @date', {'@name': name, '@date': date}) :
-          Drupal.t('By @name', {'@name': name});
-      });
+        $context.find('.node-form-author').drupalSetSummary(function (context) {
+          var $authorContext = $(context),
+              $name = $authorContext.find('.field-name-uid input').val(),
+              $date = $authorContext.find('.field-name-created input').val();
+          return $date ?
+            Drupal.t('By @name on @date', {'@name': $name, '@date': $date}) :
+            Drupal.t('By @name', {'@name': $name});
+        });
 
-      $context.find('.node-form-options').drupalSetSummary(function (context) {
-        var $optionsContext = $(context);
-        var vals = [];
+        $context.find('.node-form-options').drupalSetSummary(function (context) {
+          var $optionsContext = $(context),
+              vals = [];
 
-        if ($optionsContext.find('input').is(':checked')) {
-          $optionsContext.find('input:checked').next('label').each(function () {
-            vals.push(Drupal.checkPlain($.trim($(this).text())));
-          });
-          return vals.join(', ');
-        }
-        else {
-          return Drupal.t('Not promoted');
-        }
-      });
+          if ($optionsContext.find('input').prop('checked')) {
+            $optionsContext.find('input').filter(':checked').next('label').each(function () {
+              vals.push(Drupal.checkPlain($.trim($(this).text())));
+            });
+            return vals.join(', ');
+          }
+          else {
+            return Drupal.t('Not promoted');
+          }
+        });
 
-      $context.find('fieldset.node-translation-options').drupalSetSummary(function (context) {
-        var $translationContext = $(context);
-        var translate;
-        var $checkbox = $translationContext.find('.form-item-translation-translate input');
+        $context.find('.node-translation-options').drupalSetSummary(function (context) {
+          var $translationContext = $(context),
+              translate,
+              $checkbox = $translationContext.find('.form-item-translation-translate input');
 
-        if ($checkbox.size()) {
-          translate = $checkbox.is(':checked') ? Drupal.t('Needs to be updated') : Drupal.t('Does not need to be updated');
-        }
-        else {
-          $checkbox = $translationContext.find('.form-item-translation-retranslate input');
-          translate = $checkbox.is(':checked') ? Drupal.t('Flag other translations as outdated') : Drupal.t('Do not flag other translations as outdated');
-        }
+          if ($checkbox.length) {
+            translate = $checkbox.prop('checked') ? Drupal.t('Needs to be updated') : Drupal.t('Does not need to be updated');
+          }
+          else {
+            $checkbox = $translationContext.find('.form-item-translation-retranslate input');
+            translate = $checkbox.prop('checked') ? Drupal.t('Flag other translations as outdated') : Drupal.t('Do not flag other translations as outdated');
+          }
 
-        return translate;
+          return translate;
+        });
       });
     }
   };
diff --git a/core/modules/node/node.preview.js b/core/modules/node/node.preview.js
index 09ce7a0..748020e 100644
--- a/core/modules/node/node.preview.js
+++ b/core/modules/node/node.preview.js
@@ -1,4 +1,9 @@
-(function ($, Drupal) {
+/**
+ * @file
+ * Javascript for the node preview.
+ */
+
+(function ($, Drupal, drupalSettings) {
 
   "use strict";
 
@@ -7,7 +12,7 @@
    * in node previews to prevent users from leaving the page.
    */
   Drupal.behaviors.nodePreviewDestroyLinks = {
-    attach: function (context) {
+    attach: function (context, settings) {
 
       function clickPreviewModal(event) {
         // Only confirm leaving previews when left-clicking and user is not
@@ -71,4 +76,4 @@
       Drupal.t('CTRL+Left click will prevent this dialog from showing and proceed to the clicked link.') + '</small>';
   };
 
-})(jQuery, Drupal);
+})(jQuery, Drupal, drupalSettings);
