1. Мы добавляем атрибуты в HTML элемент (подойдет в SVG).
2. Насчет CSS - то здесь все легко и просто, и даже кроссбраузерно.
3. Позаимствовал, зато работает в IE и других браузерах.
(function(window){
window.setAttributes = function(obj,src){
if(obj==null){obj={}}
if(src==null){src={}}
for(var i in src){
obj.setAttribute(i,src[i]);
}
}
window.setStyles = function(obj,src){
if(obj==null){obj={}}
if(src==null){src={}}
for(var i in src){
if(typeof obj.style.setProperty != "undefined"){
obj.style.setProperty(i,src[i],null);
} else {
obj.style.setAttribute(i,src[i]);
}
}
}
window.addEvent = function(obj, type, func) {
if(obj.addEventListener) {
obj.addEventListener(type, func, false);
}
else
if(obj.attachEvent) {
var f = function(e) {
func.call(obj, e);
}
obj.attachEvent('on' + type, f);
}
}
})(window);