Tous les navigateurs ne prennent pas en charge tous les attributs sur tous les éléments. Il y a un certain nombre de nouveaux attributs dans HTML5, donc l'idée de tester pour voir dans quel type d'environnement de navigateur vous vous trouvez devient de plus en plus importante.
function elementSupportsAttribute(element, attribute) ( var test = document.createElement(element); if (attribute in test) ( return true; ) else ( return false; ) );
Usage
if (elementSupportsAttribute("textarea", "placeholder") ( ) else ( // fallback )