Вы можете использовать element.attributes
что-то вроде:
var body = document.body,
attries = body.attributes,
arr = [];
for(var i=0, len=attries.length; i<len; i++){
var attr = attries[i];
arr.push(attr.nodeName + '="' + attr.nodeValue + '"');
}
var x = arr.join(" ");
alert(x);
См. Здесь: http://jsbin.com/ihiwod
ОБНОВЛЕНИЕ:
Однако в IE (<= 7) приведенный выше код будет генерировать больше атрибутов, чем вы хотите, потому что атрибуты, которые не установлены, также добавляются в <code>element.attributes в этих браузерах.
улучшенный кодэто:
var body = document.body,
attries = body.attributes,
arr = [];
for(var i=0, len=attries.length; i<len; i++){
var attr = attries[i];
if(attr.specified){
var attr_name = attr.nodeName,
attr_val = attr_name === "style" ? body.style.cssText
: attr.nodeValue;
arr.push(attr_name + '="' + attr_val + '"');
}
}
var x = arr.join(" ");
alert(x);