No, it wouldn't work because the event handler is triggered and calls or runs any script it finds and and a string caller index.html is not a function nor is it a piece of code.
<a tags exist just for this purpose and its what its for, if you really wanted a button to control the next page, then you need to use a web form and have the action attribute point to the page you want and a <button tag is not the same as using a <input tag that is designated a submit button.
<form name="gohere" action="index.html" method="get" enctype="application/x-www-form-urlencoded" >
<input name="where" type="hidden" value="index">
<input name="Submit" type="submit" value="Index">
and the URL would then carry a query string over to the next page should you wish to read it.