Finding support for beginElement ()

I am using beginElement()

to trigger SVG animation in my web application:



But this throws the following error in IE9 and up (which doesn't support it ):

Object doesn't support property or method 'beginElement'


I don't mind animations not working in IE9, but I need to prevent the error from appearing. How to set up a check to beginElement()

is called only when the browser supports it? For example:.

if (hasSupport) {


I tried a detection method like this :

return !!document.getElementById("item").beginElement();


But this always returns false

, even on browsers that I know support it (Firefox for example).

I've also considered using Modernizr , but it doesn't have a test case for beginElement()



source to share

1 answer

You can sniff the method to make sure it exists before executing it.

var item = document.getElementById("item");

if ('beginElement' in item) {


Modernizr uses a form in

, however it if (item.beginElement)

will work exactly the same.



All Articles