Не все браузеры поддерживают все атрибуты для всех элементов. В HTML5 есть ряд новых атрибутов, поэтому идея тестирования, чтобы увидеть, в какой среде браузера вы находитесь, становится все более важной.
function elementSupportsAttribute(element, attribute) ( var test = document.createElement(element); if (attribute in test) ( return true; ) else ( return false; ) );
использование
if (elementSupportsAttribute("textarea", "placeholder") ( ) else ( // fallback )