Я считаю, что проблема в этой строке: var linkObj[link] = document.links[i];
. Вам нужно удалить команду var в начале этой строки. Я предполагаю, что ваш linkObj был объявлен где-то еще в вашем коде, и вы пытаетесь вставить в него новое значение. Если нет, пожалуйста, опубликуйте более полный код, и я могу изучить его дальше.
- ИЗДАНО НИЖЕ -
Тогда мое утверждение "Я полагаю, вы определили linkObj в другом месте." это неверно. Возможно, вам придется пойти с этим вместо: var linkObj = document.links[i];
. Команда var создает переменные. Как только они созданы, присваивание не требует команды var. Вы пытаетесь сохранить объект, который имеет ссылку на все ссылки для дальнейшего использования, или вам нужно использовать каждую ссылку только один раз? Если первый, вне вашей функции init () добавьте эту строку: var linkObj = {};
.
- БОЛЬШЕ РЕДАКТИРОВАНИЯ -
Святая корова. Я не уверен на 100%, какова ваша конечная цель, но я думаю, что вы должны использовать что-то вроде этого:
<script type="text/javascript">
window.onload = init;
function init() {
for (var i = 0; i < document.links.length; ++i) {
setupClick(document.links[i]);
}
}
function setupClick(thisLink) {
thisLink.scopeObject = new Image();
thisLink.scopeObject.src = thisLink[link].id + "Img.png";
thisLink.onclick = rollClick;
}
</script>
Это приведет вас к точке, в которой вы по крайней мере назначаете свойства ссылкам, которые существуют в массиве document.links. Желаемое поведение от вашей функции rollClick немного мутновато для меня, но, по крайней мере, с его помощью вы начинаете назначать свойства для ссылок на своей странице.