Ho l'impressione che sia l'eval() a dare problemi.

Come sai e` deprecato, e qualche browser potrebbe non supportarlo piu` (o supportarlo solo in parte).

Pero` mi pare che si possa fare anche senza:
codice:
function getElements(doc, element, attribute) {
        
  var array_elements = doc.getElementsByTagName(element);       
        
  for (var i=0; i<array_elements.length; i++) {
    var this_attr = array_elements["+i+"].getAttributes(attribute);
    alert(this_attr);
  }
}
Non sono sicuro della sintassi (non la ho mai usata), ma se faiuna ricerca dentro questo forum dovresti trovare degli esempi