Как в js определить, поддерживаются ли браузером определенные функций и/или атрибуты?
Попробуйте Modernizr. 
На Хабре даже есть статья по его использованию.
Modernizr хорош, только очень уж много места занимает (да, есть возможно сделать собственную сборку). В своё время утащил отсюда неплохое решение для определения поддержки отдельных атрибутов.

// @url https://gist.github.com/373874
if ($.support.transition) {
  $('html').addClass('csstransitions');
} else {
  // fallback
}
