Можно убрать атрибут ссылки и делов то. Кто мешает написать я кнопка. А вообще это бред. Не нужно менять семантику на хитрожопые штуки непонятного содержания. Ссылка должна оставаться ссылкой, если это пустой элемент управления то просто взять span.
для начала нужно понимать что jQuery объект это не массив элементов
то есть обращение напрямую к дом элементу без обертки возможно как $('#grid-cell'+i)[0]; выдаст первый элемент
если там много элементов то их нужно фильтровать $('.grid-cell').eq(3)[0];
в вашем случае ссылка на элемент складывается в массив, что не очень правильно потому что лучше использовать коллекцию элементов $('#grid-cells') , которую создать заранее
поэтому в вашем реальном случае нужно писать так cells[0][0]
и пожалуй самое важное - это понимать когда какой паттерн используется. например название "фабрика" новичку ни о чем не скажет, даже не знаю где почитать про связь реального программирования и применения того или иного паттерна (со временем нарабатывается само)