Temo che la strada infine sarà leggerle da un stringa di testo ricavata:
codice:
<script>
function leggi(el){
alert('1 el.style -> \t' + el.style + '\n' +
'2 el.style.filter -> \t' + el.style.filter + '\n' +
'3 el.style.arturo -> \t' + el.style.arturo + '\n' +
'4 el.outerHTML -> \t' + el.outerHTML + '\n' +
'5 document.getElementsByTagName("STYLE")[0].innerHTML -> \t' + document.getElementsByTagName("STYLE")[0].innerHTML + '\n' +
'END')
}
</script>
<style>
.classe {filter: alpha(opacity = 50);
width: 200px; height: 200px; background-color: blue;}
</style>
<div class="classe" style="margin: auto; color:white; font-size: xx-large;"
onclick="leggi(this)">
click me
</div>
Come vedi e già sai, se esegui su Firefox, al punto 2 .style.filter ti restituisce una stringa vuota;
.style.arturo con una proprietà che non esiste non manda in blocco lo script, ma qui il browser che non la riconosce restituisce undefined invece di stringa vuota. Vuol dire che una qualche collection delle proprietà altrui la hanno, nei meandri ...