Ответы пользователя по тегу Веб-разработка
  • Формирования CSS-селектора для конкретного элемента DOM'а

    @yopopt
    Ваш вариант не далёк от истины, но я бы сделал как-то так:
    
    $(document).one('click', function(event) {
      var q = function (i, e) {
        if(e.tagName.toLowerCase() !== 'body') {
          if((!$(arr[0]).attr('id') && e.id) || $(e).length > 1 || i == -1)
            arr.push( 
              (e.id && "#"+e.id)
              || (e.className && e.tagName.toLowerCase()+"."+e.className) 
              || (e.tagName.toLowerCase() + ":eq(" + $(e).index() + ")")
            );
          if(e.id)
            return false;
        }
        else
          return false;
      }
      var arr = [];
      q(-1,event.target);
      $(event.target).parents().each(q);
      console.log(arr.reverse().join(' '));
    });


    Выдаёт максимально оптимизированный результат.
    Ответ написан
    Комментировать