diff --git a/js/quicklink_init.js b/js/quicklink_init.js
index df4ed0c..4c5be68 100644
--- a/js/quicklink_init.js
+++ b/js/quicklink_init.js
@@ -4,6 +4,9 @@

   Drupal.behaviors.quicklink = {
     attach: function attachQuicklink(context, settings) {
+      if (!settings.quicklink) {
+        return;
+      }
       var debug = settings.quicklink.debug;

       function hydrateQuicklinkConfig() {
@@ -20,14 +23,45 @@

           (function (i, pattern) {
             if (pattern.length) {
-              quicklinkConfig.ignores.push(function (uri, elem) {
-                var ruleName = 'Pattern found in href. See ignored selectors log.';
-                var ruleFunc = uri.includes(pattern);
-
-                outputDebugInfo(ruleFunc, ruleName, uri, elem, pattern);
-
-                return ruleFunc;
-              });
+              if (/^\/.*\/$/.test(pattern)) {
+                pattern = pattern.slice(1, -1);
+                quicklinkConfig.ignores.push(function (uri, elem) {
+                  var ruleName = 'Regex Pattern found in href. See ignored selectors log.';
+                  var ruleFunc = uri.match(pattern);
+
+                  outputDebugInfo(ruleFunc, ruleName, uri, elem, pattern);
+
+                  return ruleFunc;
+                });
+              } else if (/^\.[_a-z]+[\-_a-z0-9\. ]*$/i.test(pattern)) {
+                quicklinkConfig.ignores.push(function (uri, elem) {
+                  var ruleName = 'CSS Class Selector Pattern found. See ignored selectors log.';
+                  var ruleFunc = elem.closest([pattern]);
+
+                  outputDebugInfo(ruleFunc, ruleName, uri, elem, pattern);
+
+                  return ruleFunc;
+                });
+              } else if (/^#[_a-z]+[\-_a-z0-9]*$/i.test(pattern)) {
+                pattern = pattern.substring(1);
+                quicklinkConfig.ignores.push(function (uri, elem) {
+                  var ruleName = 'ID Pattern found. See ignored selectors log.';
+                  var ruleFunc = elem.id.includes([pattern]);
+
+                  outputDebugInfo(ruleFunc, ruleName, uri, elem, pattern);
+
+                  return ruleFunc;
+                });
+              } else {
+                quicklinkConfig.ignores.push(function (uri, elem) {
+                  var ruleName = 'Pattern found in href. See ignored selectors log.';
+                  var ruleFunc = uri.includes(pattern);
+
+                  outputDebugInfo(ruleFunc, ruleName, uri, elem, pattern);
+
+                  return ruleFunc;
+                });
+              }
             }
           })(i, pattern);
         }
