code: function splitByDot(str) {
      var result = [];
      var s = "";
  
      for (var i = 0; i < str.length; i++) {
          if (str[i] == "\\" && str[i+1] == ".") {
              i++;
              s += ".";
              continue;
          }
  
          if (str[i] == ".") {
              result.push(s);
              s = "";
              continue;
          }
  
          s += str[i];
      }
  
      if (s) {
          result.push(s);
      }
  
      return result;
  }
docs: Splits dot notation selector by its components
  Escaped dots are ignored
  @param {string} str
  @returns {Array.<string>}