From c6a69067701b24ceaccd2bad625c37898ad0b445 Mon Sep 17 00:00:00 2001 From: Nicolas Coden Date: Mon, 22 Jan 2018 23:25:36 +0100 Subject: [PATCH] fix: fix side-effect of jQuery .filter() in Abide.addA11yAttributes Prevent jQuery `.filter()` to mutate the context object. --- js/foundation.abide.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/js/foundation.abide.js b/js/foundation.abide.js index ab3bce0c1..28ef56d47 100644 --- a/js/foundation.abide.js +++ b/js/foundation.abide.js @@ -213,8 +213,8 @@ class Abide extends Plugin { */ addA11yAttributes($el) { let $errors = this.findFormError($el); - let $labels = $errors.filter('label'); - let $error = $errors.first(); + let $labels = $errors.filter('label').end(); + let $error = $errors.first().end(); if (!$errors.length) return; // Set [aria-describedby] on the input toward the first form error if it is not set @@ -229,7 +229,7 @@ class Abide extends Plugin { $el.attr('aria-describedby', errorId); } - if ($labels.filter('[for]').length < $labels.length) { + if ($labels.filter('[for]').end().length < $labels.length) { // Get the input ID or create one let elemId = $el.attr('id'); if (typeof elemId === 'undefined') { @@ -242,7 +242,7 @@ class Abide extends Plugin { const $label = $(label); if (typeof $label.attr('for') === 'undefined') $label.attr('for', elemId); - }); + }).end(); } } -- 2.47.2