Наилучшим способом, основанным на ваших требованиях, является генерирование некоторого вида пути xpath на основе имен классов и, если они не существуют, имен элементов. Если у вас нет идентификатора, это единственный способ получить какой-то уникальный идентификатор для элемента. См. Мой jsfiddle для примера.
var getNodeIdentifier = function(element) {
return element.nodeName.toLowerCase() + "." + $(element).index();
};
var current = element;
var xpath = getNodeIdentifier(this);
while (current.parentNode != null) {
xpath = getNodeIdentifier(current.parentNode) + "/" + xpath;
current = current.parentNode;
}
console.log(xpath);
http://jsfiddle.net/qZMXN/29/
Обратите внимание, что единственная проблема заключается в том, что если ни один из ваших элементов не имеет классов, это, вероятно, не будет работать, потому что, если у вас есть несколько элементов на одном уровне с одним и тем же типом узла, нет способа однозначно идентифицировать их.