установить атрибут каждого якоря в документе - PullRequest
1 голос
/ 20 октября 2011

Я пытаюсь установить target каждой ссылки на странице. Я сейчас пытаюсь:

var x = document.getElementsByTagName('a')
for (i in x)
    i.setAttribute('target', '_blank');

Но я получил ошибку типа. Он работает, когда я setAttribute на x[0], но не так, как я это сделал выше Предложения?

1 Ответ

4 голосов
/ 20 октября 2011

См. x[i] вместо i.i возвращает индекс ссылки.

Для массивоподобных объектов рекомендуется использовать for(var i=0; i<x.length; i++) вместо for(i in x).

Ваш код может быть написан более эффективно с помощьюкод ниже, потому что не каждый элемент a является ссылкой:

var x = document.links;
for(var i=0, l=x.length; i<l; i++){
    x[i].setAttribute("target", "_blank");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...