В javascript вы можете найти имя текущего класса элемента, вызвав
element.getClassName();
По крайней мере в текущих версиях Firefox и Chrome вы можете найти непосредственно примененные стили с помощью
element.getAttribute("style");
Это будет включать программно примененные позиции, например, на http://jqueryui.com/demos/draggable/ вы можете сделать
document.getElementById('draggable').getAttribute("style");
"position: relative; "
и после перетаскивания перетаскиваемого предмета, если вы сделаете это снова, вы получите текущую позицию:
document.getElementById('draggable').getAttribute("style");
"position: relative; left: 63px; top: 39px; "
Вы можете получить содержимое элемента с помощью element.innerHTML. Это, плюс стиль плюс имя класса, вероятно, будет достаточно для правильной сериализации элемента. Если вы хотите сериализовать полное дерево сложных компонентов, это будет немного более сложный процесс - innerHTML будет хорошо работать только для относительно простых элементов.