MC-XOBAHCK,
да
1.можно убрать
2.свойство и атрибут, в данном случае изменение свойства равно назначению атрибута, такое не всегда, например свойство value можно изменить, атрибут останется прежним. подробнее тут
https://learn.javascript.ru/attribut...nachenie-value
3. удачи!!!
4. не знаю, выбор за вами, смотря какой нужен результат.