Sono andato con il suggerimento di Ariel Popovsky di usare il filtro, anche se se ne avessi avuto bisogno in molti posti, avrei usato il suggerimento di petersendidit di creare un selezionatore di clienti.
La differenza (importante) è che la proprietà .specified deve essere controllata. IE restituisce sempre più di 80 attributi.
Nota: anche questo non è al 100%. Ci sono alcuni attributi, come INPUT .value, che sono casi speciali, ma dal momento che sto usando un DIV, posso ignorarli.
$("div").filter(function()
{
for (var i = 0; i < this.attributes.length; i++)
{
var attr = this.attributes[i];
if (attr.specified)
{
return true;
}
}
return false;
})
fonte
2010-03-15 18:38:31
Il metodo attr non può effettuare selezioni come quella http://api.jquery.com/attr/ – PetersenDidIt